首頁 >Java >java教程 >Gmail登入測試時如何解決Selenium的ElementNotInteractableException?

Gmail登入測試時如何解決Selenium的ElementNotInteractableException?

DDD
DDD原創
2024-11-27 06:35:10143瀏覽

How to Resolve Selenium's ElementNotInteractableException During Gmail Login Testing?

Selenium WebDriver 中的 ElementNotInteractableException

嘗試擷取並測試 Gmail 登入時,Selenium WebDriver 可能會拋出「Element」。當某個元素存在於 DOM 樹上但無法與之互動時,就會出現此錯誤。

原因與解決方案:

  • 暫時疊加: 另一個元素可能會暫時遮蔽目標元素。若要解決此問題,請使用 ExpectedConditions.elementToBeClickable 或 ExpectedConditions.invisibilityOfElementLocated 引入 ExplicitWait (WebDriverWait)。
  • 永久覆蓋: 如果覆蓋持續存在,請將 WebDriver 實例強制轉換為 JavascriptExecutor 並按一下該元素通過執行 JavaScript程式碼。

特定於此 Gmail 登入場景:

發生錯誤的原因是 WebDriver 程式碼時密碼欄位未在 DOM 中正確呈現嘗試與之互動。要解決此問題,請新增 ExplicitWait 以允許元素變得可點擊:

WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement password = driver.findElement(By.xpath("//input[@name='password']"));
wait.until(ExpectedConditions.elementToBeClickable(password));
password.sendKeys("test1");

以上是Gmail登入測試時如何解決Selenium的ElementNotInteractableException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn