ホームページ >バックエンド開発 >Python チュートリアル >WebDriverWait が新しいウィンドウで要素を見つけられないのはなぜですか?

WebDriverWait が新しいウィンドウで要素を見つけられないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 10:57:09712ブラウズ

Why is WebDriverWait Failing to Find Elements in a New Window?

WebDriverWait の逸脱: 新しいウィンドウで要素が検出されない

クリック イベント (つまり、「custom_cols」) の実行後に新しいウィンドウが表示されるシナリオ、およびその中の要素WebDriverWait を実装しているにもかかわらず、ウィンドウが表示されている場合でも、そのウィンドウが検出されない場合は、コードを注意深く調べる必要があります。

提供されたコードで、使用されているメソッド present_of_element_located は、要素が DOM に表示されるのを待ちますが、その可視性やクリック可能性は保証されません。これを修正するには、代わりに element_to_be_clickable メソッドを使用する必要があります。このメソッドにより、要素が存在するだけでなく、表示され、有効になり、対話可能であることも保証されます。

try:
    myElem = WebDriverWait(self.browser, delay).until(EC.element_to_be_clickable((By.XPATH , xpath)))

追加の説明:

WebDriver でよく使用される 3 つの期待事項要素Visibility:

  • presence_of_element_located: 要素が DOM に存在するかどうかを確認します。
  • visibility_of_element_located: 要素が表示されていることを確認します。高さと幅が次より大きい0.
  • element_to_be_clickable: 要素が表示され、有効になっていて、クリックできる状態であることを確認します。

以上がWebDriverWait が新しいウィンドウで要素を見つけられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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