ホームページ >バックエンド開発 >Python チュートリアル >スクリプトが遅いために Selenium テストを高速化するにはどうすればよいですか?

スクリプトが遅いために Selenium テストを高速化するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-15 16:02:03530ブラウズ

How to Speed Up Selenium Tests When Slow Scripts Are Holding You Back?

遅いスクリプトを待機する Selenium: 戦略と解決策

Selenium のデフォルトの動作は、ページが完全にロードされるまで待機するため、遅延が発生する可能性があります遅いスクリプトに遭遇したとき。この問題は、無効なスクリプトや応答しないスクリプトを繰り返しロードしようとするページを処理する場合にさらに顕著になります。この課題を克服するには、Selenium のページ読み込み戦略を変更できます。

pageLoadStrategy の構成

Selenium には、pageLoadStrategy の 3 つのオプションがあります。

  • normal: ページ全体が読み込まれるまで待機します (デフォルト)。
  • eager: ページがインタラクティブになるまで待機します (要素が表示され、イベントに応答できるようになります)。
  • none: ページの読み込みをまったく待機しません。

pageLoadStrategy を構成することで、Selenium がページ要素が使用可能になるまで待機する時間を制御できます。

例: Firefox 用の pageLoadStrategy の構成

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

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

例: Chrome 用の pageLoadStrategy の構成

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

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "none"  # Do not wait
driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("http://google.com")

注: 「eager」pageLoadStrategy 値は現在、ChromeDriver 用に開発中です。ステータスの最新情報については、ドキュメントを参照してください。

以上がスクリプトが遅いために Selenium テストを高速化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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