簡體   English   中英

python selenium chromedriver xpath“沒有這樣的元素”

[英]python selenium chromedriver xpath “no such element”

我在iMac(操作系統:Sierra)上運行Python 3.6。 我使用的是ChromeDriver 2.33和最新版本的Selenium軟件包(來自PIPY)。 我正在嘗試訪問(使用find_element_by_xpath )表行的列元素,如下所示:

HTML代碼

我可以訪問行(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM