ホームページ >バックエンド開発 >Python チュートリアル >ページ読み込み待ち時間を制限して Selenium スクリプトを高速化するにはどうすればよいですか?

ページ読み込み待ち時間を制限して Selenium スクリプトを高速化するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-17 11:26:02359ブラウズ

How to Make Selenium Scripts Faster by Limiting Page Load Wait Time?

Selenium のデフォルトの全ページ読み込み待機の克服

Selenium のデフォルトの動作では、ページが完全に読み込まれるまで待機してから続行します。これは、スクリプトが遅い、または応答しない場合、特にタスクをスクレイピングまたは自動化する場合に問題となる可能性があります。待機時間を制限し、AJAX ファイルの読み込みをバイパスする解決策は次のとおりです。

PageLoadStrategy の構成

Selenium には、pageLoadStrategy パラメーターを使用してページ読み込み戦略をカスタマイズする機能が用意されています。 3 つの値をサポートします:

  • normal: (デフォルト) ページ全体の読み込みを待ちます。
  • eager: インタラクティブ要素のみを待ちます.
  • none: ページの読み込みを待機しません。

実装

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。