ホームページ >バックエンド開発 >Python チュートリアル >ページ読み込み戦略を調整して Selenium テストを高速化するには?

ページ読み込み戦略を調整して Selenium テストを高速化するには?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-14 20:30:03271ブラウズ

How to Speed Up Selenium Tests by Tuning Page Loading Strategy?

遅いスクリプトの読み込みをバイパスするための Selenium のチューニング

Selenium のデフォルトの動作は、ページが完全に読み込まれるまで待ってから続行することです。ページには遅いスクリプトまたは信頼性の低いスクリプトが含まれています。この問題を軽減するには、Selenium のページ読み込み戦略を調整することを検討してください。

pageLoadStrategy プロパティを使用すると、Selenium がページ読み込みイベントを処理する方法を操作できます。適切な戦略を指定することで、Selenium の待機時間を制限したり、AJAX リクエストをブロックしたり、スクリプトの読み込みを完全に無効にしたりできます。

さまざまなページロード戦略を構成するブラウザ

Firefox:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().FIREFOX
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe')
driver.get("http://google.com")

Chrome:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("http://google.com")

pageLoadStrategy オプション

  • normal: ページ全体が表示されるまで待ちますスクリプトや AJAX リクエストを含むロード。
  • eager: ページが対話型になるまで待機し、スクリプトと AJAX が非同期でロードされている間も Selenium が実行を続行できるようにします。
  • none: すべてのスクリプトの読み込みと AJAX リクエストを無効にし、Selenium がすぐに実行できるようにします。

注: 「eager」戦略は ChromeDriver 実装向けにまだ開発中であるため、すべてのブラウザで完全にサポートされているわけではない可能性があります。

以上がページ読み込み戦略を調整して Selenium テストを高速化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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