我使用硒webdriver的嘗試和模仿文件上傳硒的webdriver ElementNotVisible錯誤輸入型=「文件」元素
我有一個文件輸入字段:在我的測試結果
<input class="upload_file_field" id="main_image_file" label="false" name="banner_image_file" type="file" />
使用此在ElementNotVisibleError
@driver.find_element(:id, "main_image_file").send_keys "/Users/dan/Desktop/sample.jpg"
我甚至嘗試要上傳的文件之前,更改瀏覽權限:
@driver.execute_script("arguments[0].style.visibility='visible'; arguments[0].style.display='block'; arguments[0].style.height='100px'; arguments[0].style.width='100px'; arguments[0].style.opacity=1; arguments[0].style.zindex=20", @driver.find_element(:id, "main_image_file"))
它仍然導致ElementNotVisibleError
任何建議,將不勝感激
UPDATE
好了,原來,有幾個條件,它可以使隱藏的元素:
- 不能有0不透明
- 必須有長度和寬度> 0
- 不能隱藏的知名度
- 顯示不能沒有
- 變換屬性可以移動到頁面的元素,這使得它不可見
我的問題是與變換屬性。這是一種隱藏輸入字段的方式,通過將其完全轉換爲頁面,以便我可以使用使用jQuery文件上傳的更好的樣式按鈕。
之後,
@driver.find_element(:id, "main_image_file").send_keys "/Users/dan/Desktop/sample.jpg"
在模擬文件
類似的問題嗎?當元素隱藏在div後面時,我遇到了與Chrome相同的問題,並且需要向下滾動才能看到元素。但在Firefox中有自動滾動,因此你不會看到這個錯誤。 – LINGS
這是與火狐 – user2426286