使用 selenium 抓取資料時,處理需要時間出現的動態元素至關重要。但是,使用者遇到了一個問題:WebDriverWait 應該暫停執行直到元素可見,但它沒有如預期運作。此問題僅發生在元素可見但 WebDriverWait 無法找到它的孤立實例中。
根據使用者的程式碼,他們使用具有 20 秒延遲的 WebDriverWait 和 Presence_of_element_ located() 方法。元素定位器正在搜尋開啟新視窗的按鈕,允許使用者選擇自訂列。
要解決此問題,建議使用 element_to_be_clickable() 而不是 Presence_of_element_ located ()。 Presence_of_element_ located() 方法僅確保該元素存在於 DOM 上,而 element_to_be_clickable() 則驗證該元素不僅可見而且可點選。此變更應該解決偶爾無法在新視窗中選擇元素的問題,即使它們是可見的。
為了進一步澄清情況,讓我們檢查這三個方法提到:
以上是為什麼我的 Selenium WebDriverWait 不工作,即使元素可見?的詳細內容。更多資訊請關注PHP中文網其他相關文章!