爬蟲-Selenium -抱錯ElementNotVisibleException: Message: element not visible


1.當使用Selenium IDE 完成了腳本的錄制和回放通過后,想要將腳本轉換為其他語言如java、Python等,首次使用時打開Options-》Format發現沒有可以轉換的語言,如下:

這個時候需要設置一下,打開Options-》Options,勾選如下選項允許擴展功能,如下:

保存后重新打開Options-》Format,就可以將腳本轉換成你想要的語言來顯示,如下:

點擊轉換后,就可以將腳本裝換成你想要的語言來表示,如轉換成Python語言的腳本:

 

Selenium Webdriver

1.使用chrome瀏覽器運行腳本的配置

首先需要下載chromedriver,下載可以到如下地址自由選擇下載版本,我選擇最新的V2.9版本(我的是放在和Python安裝路徑目錄下):

http://chromedriver.storage.googleapis.com/index.html

下載完成后,將chromedriver解壓縮,將當前存放ChromeDriver.exe的路徑加到系統變量path路徑下:

完成后就可以在腳本中通過調用ChromeDriver來運行Chrome瀏覽器執行腳本:

2.當出現如下錯誤時:ElementNotVisibleException: Message: element not visible,表示元素初始是不可見,首先確保你的定位沒有問題后,有可能是因為頁面加載沒有完成導致無法定位到該元素,可以通過添加:

time.sleep(5)  #延時5秒

解決問題,延時時間自己根據實際情況確認,一般在頁面跳轉或打開不同頁面是需要添加。

3.當出現如下錯誤:Element is not clickable at point

主要原因是這個按鈕不是可點擊的按鈕,可以根據錯誤提示進行替換備用按鈕;或者由於該按鈕被其他東西阻擋(彈框、瀏覽器沒有最大化)導致無法點擊,可以根據時間情況修改。

ps:我就是沒有把瀏覽器最大化導致點擊失敗的!囧

4.selenium出現click單擊無效無效的情況如何處理?

一般出現click單擊無效的情況,主要是由於失去了跳轉點擊時出現失去焦點的問題(具體原因未知),可以參考解決方法:

(a)點擊前先按下tab鍵(其他按鍵也可以考慮)再進行點擊可以解決:

driver.find_element_by_xpath(".//*[@id='dologin']").send_keys(Keys.TAB)
driver.find_element_by_xpath(".//*[@id='dologin']").click()

(b)也可以考慮點擊2次可以解決:

driver.find_element_by_xpath(".//*[@id='dologin']").click()

driver.find_element_by_xpath(".//*[@id='dologin']").click()

5.當出現如下錯誤selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document,意思是頁面元素沒有連接成功,一般是由於返回或刷新頁面導致丟失,解決版本可以參考:

(a)重新刷新加載頁面

(b)重新獲取頁面元素

6.Selenium webdriver啟動chrome瀏覽器出現提示:--ignore certificate errors

解決辦法如下(在啟動driver時添加一個選項,將提示去除即可):
option=webdriver.ChromeOptions()
option.add_argument("test-type")
driver = webdriver.Chrome(chrome_options=option)
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM