ホームページ >バックエンド開発 >Python チュートリアル >Python の Selenium WebDriver を使用して、Web ページ (無限スクロール) が完全に読み込まれたことを効率的に検出するにはどうすればよいですか?
Python 用 Selenium WebDriver を使用してページの読み込みを待つ方法
無限スクロールが実装された Web ページからデータをスクレイピングする場合、次のことが重要です。ページが新しいコンテンツを完全に読み込んだときを効率的に検出します。この記事では、各スクロール後に一定の時間待機する場合と比較して、より時間効率の高いアプローチについて説明します。
デフォルトのページ読み込みメカニズム
デフォルトでは、Selenium WebDriver の .get () メソッドは、ページが完全にロードされるまで待機します。ただし、これはフレーム内または AJAX リクエスト経由の読み込みを考慮していません。
特定の要素に対する WebDriverWait の使用
特定の要素がページでは、expected_conditions を指定して 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 を使用して、Web ページ (無限スクロール) が完全に読み込まれたことを効率的に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。