Selenium の「NoSuchElementException」は、HTML DOM 内の要素の検索に失敗したときに発生します。この場合、Chrome を使用して Selenium を使用して QWOP を再生しているときにこのエラーが発生します。
指定した Selenium コードは、「find_element_by_id」を使用して「window1」要素を見つけます。ただし、このロケーターは DOM 内の要素を一意に識別できない場合があり、「NoSuchElementException」が発生します。
この問題を解決するには、次のようなより具体的なロケーター戦略を使用できます。 :
さらに、要素がビューポート内に表示されていることを確認します。それを見つけようとする前に。必要に応じて、element_to_be_clickable などの予期される条件で WebDriverWait を使用し、要素と対話する前に要素がクリック可能になるのを待ちます。
この特定のケースでは、 「window1」キャンバスをクリックする前にクリック可能にする:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))).click()
以上がChrome で Selenium を使用すると「selenium.common.Exceptions.NoSuchElementException」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。