ホームページ > Java > &#&チュートリアル > Gmail ログイン自動化中に Selenium の「ElementNotInteractableException」を解決する方法?

Gmail ログイン自動化中に Selenium の「ElementNotInteractableException」を解決する方法?

Mary-Kate Olsen
リリース: 2024-11-26 14:28:13
オリジナル
803 人が閲覧しました

How to Resolve Selenium's

Selenium WebDriver 要素の例外: Gmail ログイン自動化の「ElementNotInteractableException」を解決する

Selenium WebDriver を使用して Gmail ログインを自動化しようとすると、ユーザーはに遭遇するかもしれない"ElementNotInteractableException."

ElementNotInteractableException とは?

この例外は、要素が DOM 内に存在しても、それを実行できる状態にないことを示します。

原因と解決策for ElementNotInteractableException

この例外の原因はさまざまです。一般的な理由と解決策は次のとおりです。

  • 一時的なオーバーレイ: 別の要素がターゲット要素に一時的に重なる可能性があります。 「ExpectedConditions.invisibilityOfElementLocated」または「ExpectedConditions.elementToBeClickable」を使用して、これを解決するまで待ちます。
  • 永続オーバーレイ: 永続オーバーレイでは、例に示すように、クリック アクションを実行するために JavascriptExecutor を使用する必要があります。コード

Gmail ログイン自動化の具体的な解決策

Firefox を使用した Gmail ログイン自動化のコンテキストでは、「ElementNotInteractableException」を追加することで解決できます。 WebDriverWait を使用した明示的な待機。次の更新されたコードはこれを示しています:

System.setProperty("webdriver.gecko.driver", "C:UsersRuchiworkspace2SeleniumTestjargeckodriver-v0.17.0-win64geckodriver.exe");<br>WebDriver driver =新しいFirefoxDriver();<br>driver.manage().window().maximize();<br>文字列 url = "https://accounts.google.com/signin";<br>driver.get(url) ;<br>driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); <br>WebElement email_phone = driver.findElement(By.xpath("//input[@id='identifierId']"));<br>email_phone.sendKeys("[email protected]");<br>ドライバー。 findElement(By.id("identifierNext")).click();<br>WebElement パスワード = driver.findElement(By.xpath("//input[@name='password']"));<br>WebDriverWait wait = new WebDriverWait(driver, 20);<br>wait.until(ExpectedConditions.elementToBeClickable(password));<br>password.sendKeys("test1");<br>driver.findElement(By.id("passwordNext")).click() ;<br>

明示的な待機を組み込むことで、 WebDriver は、「Password」フィールドがレンダリングされてクリック可能になるまで待機してから操作し、「ElementNotInteractableException」を解決し、正常なログイン自動化を有効にします。

以上がGmail ログイン自動化中に Selenium の「ElementNotInteractableException」を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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