首頁 > 後端開發 > Python教學 > 如何在 Python 中使用 Selenium WebDriver 有效檢測網頁(無限滾動)何時已完全載入?

如何在 Python 中使用 Selenium WebDriver 有效檢測網頁(無限滾動)何時已完全載入?

DDD
發布: 2024-12-16 20:28:15
原創
137 人瀏覽過

How Can I Efficiently Detect When a Web Page (with Infinite Scrolling) Has Fully Loaded Using Selenium WebDriver in Python?

如何使用Selenium WebDriver for Python 等待頁面載入

從無限滾動實現的網頁中抓取資料時,至關重要的是有效偵測頁面何時完全載入新內容。本文探討了一種比每次滾動後等待固定時間間隔更省時的方法。

預設頁面載入機制

預設情況下,Selenium WebDriver 的 .get () 方法等待頁面完全載入。但是,這不考慮在框架內或透過 AJAX 請求載入。

對特定元素使用 WebDriverWait

等待特定元素在頁面,將 WebDriverWait() 與預期條件一起使用。例如:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

delay = 3 # seconds
driver = webdriver.Firefox()
driver.get("url")
try:
    myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'id-of-element')))
    print("Page is ready!")
except TimeoutException:
    print("Loading took too much time!")
登入後複製

注意事項

請注意,WebDriverWait 只等待指定的元素或條件變為 true。如果等待其他元素或條件,您可能需要使用自訂程式碼來偵測頁面載入完成。

以上是如何在 Python 中使用 Selenium WebDriver 有效檢測網頁(無限滾動)何時已完全載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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