ホームページ > Java > &#&チュートリアル > Selenium WebDriver Gmail ログイン テストでパスワードを入力すると「ElementNotInteractableException」がスローされるのはなぜですか?

Selenium WebDriver Gmail ログイン テストでパスワードを入力すると「ElementNotInteractableException」がスローされるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-28 04:36:10
オリジナル
305 人が閲覧しました

Why Does My Selenium WebDriver Gmail Login Test Throw an

Selenium WebDriver がスレッド "main" org.openqa.selenium.ElementNotInteractableException で例外をスローする

問題:

セレン内Gmail ログインをキャプチャしてテストすることを目的とした WebDriver テスト シナリオでは、パスワードを入力しようとすると「ElementNotInteractableException」でテストが失敗します。

原因:

「ElementNotInteractableException」 HTML 内に存在するにもかかわらず、WebDriver が操作できない要素に遭遇したときにスローされます。 DOM.

解決策:

  • 一時オーバーレイ: 別の要素がターゲット要素を一時的にオーバーレイする場合、ExpectedCondition "elementToBeClickable" で ExplicitWait が発生します。 「解決できる」 this.
  • 永続オーバーレイ: オーバーレイが永続的な場合、WebDriver を「JavaScriptExecutor」としてキャストし、JavaScript を通じてクリック操作を実行します。

この問題に固有:

このシナリオでは、原因は次のとおりです。パスワード フィールドが HTML DOM でレンダリング可能になるまでの明示的な待機がないこと。 ExpectedCondition "elementToBeClickable" を使用して ExplicitWait を追加すると、この問題が解決されます。

コード ソリューション:

...
WebDriver driver = new FirefoxDriver();
...
// Wait up to 20 seconds for the password field to become clickable
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='password']")));
password.sendKeys("test1");
...
ログイン後にコピー

このソリューションを実装すると、テストがスムーズに進み、パスワードが取得されるはずです。正しく、Gmail ログイン テストを完了しました。

以上がSelenium WebDriver Gmail ログイン テストでパスワードを入力すると「ElementNotInteractableException」がスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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