ホームページ > バックエンド開発 > Python チュートリアル > Selenium で要素が存在し、表示され、クリック可能になるまで確実に待つ方法は?

Selenium で要素が存在し、表示され、クリック可能になるまで確実に待つ方法は?

Linda Hamilton
リリース: 2024-12-21 05:19:10
オリジナル
1060 人が閲覧しました

How to Reliably Wait for Elements to Be Present, Visible, and Clickable in Selenium?

要素が存在し、表示され、Selenium と対話可能になるまで待機します

Selenium では、要素と対話する前に、要素が表示されるまで待機する必要があることがよくあります。要素の出現時間は変動する可能性があるため、sleep() を使用して待機することは信頼できません。代わりに、WebDriverWait と予期される条件を利用する必要があります。

要素の存在を待機中

DOM 上の要素の存在を確認するには、expected_conditions を present_of_element_located() に設定します。これには要素が表示されている必要はありません。例:

WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
ログイン後にコピー

要素の可視性を待機中

要素から属性を抽出するには、visibility_of_element_located() を使用します。これにより、要素が表示され、ゼロ以外の寸法が確保されます。

email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".anonemail"))).get_attribute("value")
ログイン後にコピー

要素のクリック可能性を待機しています

要素をクリックするには、expected_conditions を element_to_be_clickable() に設定します。 。これにより、要素が表示され、インタラクションが有効になっているかどうかがチェックされます。

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
ログイン後にコピー

その他の参考情報

詳細については、次のリソースを参照してください。

  • [WebDriverWait が機能していません予想される](https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/4395)
  • [Selenium: 要素の存在を確認する](https://www. guru99.com/verify-element-present-selenium.html)

以上がSelenium で要素が存在し、表示され、クリック可能になるまで確実に待つ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート