ホームページ > ウェブフロントエンド > jsチュートリアル > WebDriver が ElementNotInteractableException をスローするのはなぜですか?

WebDriver が ElementNotInteractableException をスローするのはなぜですか?

Susan Sarandon
リリース: 2024-12-07 11:17:13
オリジナル
124 人が閲覧しました

Why is My WebDriver Throwing an ElementNotInteractableException?

ElementNotInteractableException: キーボードで要素にアクセスできません

エラーの理解

このエラーは、WebDriver が対話できない場合に発生しますキーボードを使用して要素を使用します。これは、要素が非表示になっているか、隠れているか、フォーカスできないことが原因である可能性があります。

エラーの理由

  • 要素が非表示です: 別の要素によって一時的に、または永続的に隠されていますhidden。
  • 永続的なオーバーレイの存在: オーバーレイ要素は、目的の要素へのアクセスをブロックします。
  • 相互作用を妨げる属性: class="ng のような属性-hide" または style="display: none" を無効にするインタラクション。
  • のような要素をクリックしようとします。または

    : クリックを に送信します。

ソリューション

  • 一時オーバーレイ: WebDriverWait と ExpectedConditions を使用して、要素が表示/クリック可能。
  • 永続オーバーレイ: JavascriptExecutor のexecuteScript() を使用して、style="display: none" を style="display: block" にリセットします。
  • 対話を妨げる属性: JavascriptExecutor からのexecuteScript()を使用して属性を変更し、有効にしますインタラクション。

この特定の問題 (Facebook 登録) については

Facebook ログイン ページの React Native 要素により、動的ロケーター戦略が必要です:

driver.findElement(By.xpath("//input[@name='firstname' and contains(@class,'inputtext')]")).sendKeys("testing it ");
ログイン後にコピー

で更新しますmoz:webdriverClick

Firefox の機能 moz:webdriverClick により、WebDriver 準拠の対話性チェックを無効にできます:

DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability("moz:webdriverClick", false);
WebDriver driver = new FirefoxDriver(dc);
ログイン後にコピー

以上がWebDriver が ElementNotInteractableException をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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