元素無法定位問題 NoSuchElementException: Message: no such element: Unable to locate element 解決方法


定位網頁上某個按鈕時,總是報錯元素定位不到,具體如下:NoSuchElementException: Message: no such element: Unable to locate element

改了好幾種寫法,最終直接用 xpath helper 里獲取的內容填充進去,還是報錯,瞬間領悟了,原來不是 xpath 的問題,是因為腳本執行到這一行代碼時,對應頁面上的元素還沒加載完成,

導致定位不到,需要設置等待時間,舉個簡單的例子:

#coding:utf-8
from selenium import webdriver
import selenium.webdriver.support.ui as ui

dr = webdriver.Chrome()
dr.get('http://www.xxx.com')
wait = ui.WebDriverWait(dr,5)
wait.until(lambda driver: dr.find_element_by_xpath("//span[text()='查看']"))
dr.find_element_by_xpath("//span[text()='查看']").click()

標藍的代碼,表示會反復調用until中的函數,找到就返回,超過5秒就拋出Timeout異常。


免責聲明!

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



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