如何使用Selenium WebDriver for Python 檢測頁面加載完成以提高網頁抓取效率
優化實現無限滾動的頁面的網頁抓取效率
優化實現無限滾動的頁面的網頁抓取效率
優化實現無限滾動的頁面的網頁抓取,在每次向下捲動後檢測頁面載入完成以觸發後續捲動至關重要。這透過避免不必要的等待時間來確保時間效率。
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 to wait element_id = 'IdOfMyElement' # Element to wait for try: element = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, element_id))) print("Page has loaded the new contents!") except TimeoutException: print("Loading took too long!")
使用WebDriverWait 檢測特定元素的存在
在您的特定情況下,Selenium WebDriver 中的WebDriverWait 類別使您能夠等待每次向下滾動後特定元素會出現在頁面上。具體方法如下:
透過等待特定元素的存在,您可以確保頁面在觸發下一次向下捲動之前已完成載入新內容。
注意事項: Webdriver 的預設行為需要注意的是,WebDriver 會等待頁面載入使用 .get() 方法後預設。但是,此預設行為不會擴展到等待載入內部框架或 AJAX 請求。 WebDriverWait 類別提供了指定特定等待條件的彈性,如上面的範例所示。以上是如何使用 Selenium 有效偵測頁面載入完成以進行網頁擷取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!