Playwright Pythonでは、特定の要素がページ上に表示されるのを待つために wait_for_selector()
メソッドを使用できます。このメソッドは、Webページが完全にロードされるのを待ち、その後ページソースを取得するために使用できます。
例えば、次のように使用します:
from playwright.sync_api import sync_playwright
with sync_playwright() as pw:
browser = pw.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://example.com")
page.wait_for_selector("#selector")
# ここで、"#selector"がページ上に表示されるのを待ちます
print(page.content())
browser.close()
また、wait_for_selector()
メソッドは TimeoutError
をスローする可能性があります。これは、指定したセレクタが指定した時間内に見つからなかった場合に発生します。このエラーを処理するためには、次のように try/except
ブロックを使用します:
from playwright.sync_api import sync_playwright, TimeoutError
try:
with sync_playwright() as pw:
browser = pw.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://example.com")
page.wait_for_selector("#selector", timeout=10000)
# ここで、"#selector"がページ上に表示されるのを待ちます
print(page.content())
except TimeoutError:
print("The selector was not found within the timeout period.")
finally:
browser.close()
このように、Playwright Pythonの wait_for_selector()
メソッドは、Webスクレイピングにおいて非常に有用なツールです。適切に使用すれば、ページのロードを待つことなく、必要な情報を効率的に取得することができます。