我在iMac(OS:Sierra)上運行Python 3.6。我使用ChromeDriver 2.33和最新版本的Selenium軟件包(來自PIPY)。我試圖訪問(使用find_element_by_xpath
)的錶行的列的元件,如下所示:python selenium chromedriver xpath「no such element」
我可以訪問前三個單元格(TH代碼)嵌入的行(TR標籤)的內部。當我到第四單元(TH標籤)的鉻驅動程序報告(通過Python)「沒有這樣的元素」。
我在加載頁面之前等待幾秒鐘,然後嘗試訪問該元素(同樣,我可以爲此行添加多餘的單元格1-3),所以這顯然不是時間問題。
Web元素(單元格#4)在Web瀏覽器中可見。另外,我在Chrome開發者中使用了web元素搜索功能來檢查xpath(並且它檢測出來很好)。顯然,問題不在於元素不可見。
我不知道這個問題是什麼?或者至少我想就如何調試這個建議?
響應於評論:我使用下面蟒呼叫
CHROMEDRIVER.find_element_by_xpath( 「// * [@ ID =」 mainContent_ugReservationGrid_tableGridParent「]/DIV 1 /表/ THEAD/TR [ 3]/th [INDEX]「)' 其中'INDEX'是我的循環變量.. 1-3工作正常,但當循環 變量變爲4時,我得到異常'
No Such Element
'。
與Firefox & geckodriver替換鉻:這似乎是與Chrome的界面問題。 Firefox按預期工作,不會有其他更改。
什麼是你用你的電話得到的前三個單元格?爲了調試,我會通過檢查,如果你能使用find_elements_by_tag_name(或任何蟒蛇該呼叫使用,我用C#)來獲取所有TR元素開始。創建一個函數來獲取與TR標籤頁上的所有元素,並將它們打印到控制檯,以確保所有返回,然後從那裏走。 – JOberloh