Selenium のデフォルトの全ページ読み込み待機の克服
Selenium のデフォルトの動作では、ページが完全に読み込まれるまで待機してから続行します。これは、スクリプトが遅い、または応答しない場合、特にタスクをスクレイピングまたは自動化する場合に問題となる可能性があります。待機時間を制限し、AJAX ファイルの読み込みをバイパスする解決策は次のとおりです。
PageLoadStrategy の構成
Selenium には、pageLoadStrategy パラメーターを使用してページ読み込み戦略をカスタマイズする機能が用意されています。 3 つの値をサポートします:
実装
pageLoadStrategy を設定するには、 DesiredCapabilities クラス:
Python (Firefox)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().FIREFOX caps["pageLoadStrategy"] = "eager" driver = webdriver.Firefox(desired_capabilities=caps)
Python (Chrome)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().CHROME caps["pageLoadStrategy"] = "eager" driver = webdriver.Chrome(desired_capabilities=caps)
注: 熱心なページ読み込み戦略は、ChromeDriver ではまだ完全にはサポートされていません。ただし、PhantomJS または Firefox を構成することで、この問題を解決できます。
pageLoadStrategy を Eager に設定すると、Selenium はページが応答するまで待機し、遅いスクリプトによって引き起こされる遅延を回避します。これにより、ブラウザの安定性を損なうことなく、スクリプトの実行が速くなり、自動化がスムーズになります。
以上がページ読み込み待ち時間を制限して Selenium スクリプトを高速化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。