ホームページ >バックエンド開発 >Python チュートリアル >Python で Selenium WebDriver の実行を効率的に一時停止するにはどうすればよいですか?

Python で Selenium WebDriver の実行を効率的に一時停止するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-19 19:01:16955ブラウズ

How to Efficiently Pause Selenium WebDriver Execution in Python?

Selenium WebDriver の待機ステートメントと条件付きステートメント

質問: Selenium WebDriver の実行をミリ秒間一時停止するにはどうすればよいですか? Python?

答え:

time.sleep() 関数を使用して指定した秒数の間実行を一時停止できますが、Selenium WebDriver では一般的に推奨されません。自動化。

Selenium の使用WebDriverWait

代わりに、Selenium は、要素の状態を検証するために予期される条件と組み合わせて WebDriverWait クラスを提供します。一般的に予期される条件は次のとおりです。

  1. 見つかった要素の存在: DOM 上に要素が存在するかどうかを確認します。
  2. 見つかった要素の可視性: 要素が表示されているかどうか、高さと幅が次の値より大きいかどうかを確認します。 0.
  3. クリック可能にする要素: 要素が表示され、有効化され、対話可能かどうかを確認します。

例:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10) # Timeout after 10 seconds

# Wait until an element is clickable
element = wait.until(EC.element_to_be_clickable((By.ID, "some_button")))
element.click()

不必要な待機とチェックを避けるため、このメソッドは time.sleep() よりも好まれます。続行する前に要素の望ましい状態を確認し、テストの効率を向上させます。

参考資料:

詳細については、以下を参照してください:

  • WebDriverWait が期待どおりに動作しません: https://stackoverflow.com/questions/37372143/webdriverwait-not-working-as-expected

以上がPython で Selenium WebDriver の実行を効率的に一時停止するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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