[英]Unable to locate xpath element - Selenium, Python, Chromedriver
[英]python selenium chromedriver xpath “no such element”
我在iMac(操作系統:Sierra)上運行Python 3.6。 我使用的是ChromeDriver 2.33和最新版本的Selenium軟件包(來自PIPY)。 我正在嘗試訪問(使用find_element_by_xpath
)表行的列元素,如下所示:
我可以訪問行(TR標簽)中嵌入的前三個單元格(TH標簽)。 當我到達第四個單元格(TH標簽)時,chrome驅動程序報告(通過python)“沒有這樣的元素”。
我在加載頁面后等待10秒鍾,然后嘗試訪問元素(此外,我可以在此行中增加單元格1-3),因此這顯然不是時間問題。
Web元素(單元格4)在Web瀏覽器中可見。 另外,我在chrome開發人員中使用了Web元素搜索功能來檢查xpath(並且可以很好地進行檢查)。 顯然,問題不是該元素不可見。
我想知道問題是什么? 或者至少我想要一些有關如何調試它的建議?
回應評論:我使用以下python調用
CHROMEDRIVER.find_element_by_xpath(“ // * [@ id =” mainContent_ugReservationGrid_tableGridParent“] / div 1 / table / thead / tr [3] / th [INDEX]”)'其中'INDEX'是我的循環變量。1-3工作正常,但當循環變量達到4時,出現異常'
No Such Element
'。
用Firefox和geckodriver取代了Chrome:Chrome界面似乎有問題。 Firefox可以正常工作,沒有其他任何更改。
如果您在引用其他表單元格時沒有遇到時序問題,那么有必要進一步驗證您正在使用的xpath來處理似乎無法到達的元素。
即使我傾向於主要通過Chrome運行所有自動化程序,我還是偶爾會使用帶有FirePath插件的Firefox來選擇/驗證頁面上的定位器。 該插件特別有用,因為它將產生給定定位器的所有匹配項。 自動化可能失敗(或至少行為無法預測)的原因之一是定位器可能具有多個匹配項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.