首頁 >web前端 >js教程 >為什麼我的 WebDriver 會拋出 ElementNotInteractableException?

為什麼我的 WebDriver 會拋出 ElementNotInteractableException?

Susan Sarandon
Susan Sarandon原創
2024-12-07 11:17:13125瀏覽

Why is My WebDriver Throwing an ElementNotInteractableException?

ElementNotInteractableException:鍵盤無法存取元素

理解錯誤

當WebDriver 無法互動時會發生此錯誤使用鍵盤元素。這可能是由於元素被隱藏、遮蔽或無法聚焦。

錯誤原因

  • 元素已隱藏: 被另一個元素暫時遮蔽或永久隱藏。
  • 永久存在覆蓋: 覆蓋元素會阻止對所需元素的存取。
  • 阻止互動的屬性: 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:webdriverC >

以上是為什麼我的 WebDriver 會拋出 ElementNotInteractableException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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