org.openqa.selenium.NoSuchElementException: no suchelement:



我从WebDriverWait更改为FluentWait,因为它已被弃用,现在我收到一个错误

private val waitForElement = FluentWait(DriverFactory.driver).withTimeout(Duration.ofMinutes(1)).pollingEvery(Duration.ofSeconds(1))
@Step("Choose button")
fun Wizard() {
waitForElement.until(ExpectedConditions.elementToBeClickable(firstPage.wizardLocator))
firstPage.wizardLocator?.click()
?: throw IllegalStateException("could not locate the wizard button")
}

收到此错误:

Message: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element

根据 ExpectConditions.elementToBeClickable((

检查元素的期望是可见的,并且已启用,以便您可以单击它。

当您确定该元素存在于页面上但您希望等到可以与之交互时,您应该使用上述函数。您收到异常是因为该元素根本不存在于页面上。

因此,选项在:

  • 使用 .ignoring(NoSuchElementException.class( 在 DOM 中不存在元素时抑制异常
  • 甚至更好的是首先使用 presenceOfNestedElementTLocationBy(( 来确保元素在那里,一旦它出现在页面上 - 您可以再次等待其"可点击性">

详细信息:如何使用 Selenium 使用 AJAX 技术测试 Web 应用程序

相关内容

  • 没有找到相关文章

最新更新