為什麼 Selenium 在滾動 Amazon 搜尋結果時會拋出 StaleElementException?

Susan Sarandon
發布: 2024-11-15 07:02:02
原創
338 人瀏覽過

Why Does Selenium Throw a StaleElementException When Scrolling Through Amazon Search Results?

Selenium 的StaleElementException:在Python 中遍歷網頁

使用Selenium WebDriver 遍歷Amazon 搜尋結果時,一些使用者在第五個使用者在第五個頁面到StaleElementException或第二頁。當 Selenium 嘗試與 DOM(文件物件模型)中已變更或消失的元素互動時,會發生此錯誤。

提供的程式碼片段突顯了向下捲動頁面以找到頁碼欄的困難,導致「driver.execute_script」行上出現 StaleElementException。 「StaleElementReferenceException」訊息表示引用的元素(具有類別「pagnCur」)不再有效。

雖然原始方法旨在迭代特定數量的頁面,但所提供的解決方案通過不斷地簡化任務單擊“下一步”按鈕直至其被禁用。此方法依賴 WebDriverWait 來等待「下一步」按鈕元素變得可按一下。如果 WebDriverWait 逾時(預設為 10 秒),循環將中斷,假設沒有更多頁面可供導航。

要注意的是,「implicitly_wait(10)」會等待,直到元素出現在DOM 長達 10 秒,而不是完整的 10 秒。如果較早找到該元素,則「implicitly_wait」時間範圍結束。為了確保可靠的等待,建議使用明確等待,例如具有特定元素定位器的“WebDriverWait”。

以上是為什麼 Selenium 在滾動 Amazon 搜尋結果時會拋出 StaleElementException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板