当我的测试到达以下行时失败:
driver.findElement(By.id("password"((.sendKeys("myPass"(
我已经尝试了给出的解决方案,但它仍然不可交互
以下情况下可能发生此异常:
- 元素不可见
- 元素出现在屏幕外(向下滚动后将显示(
- 元素位于任何其他元素后面
- 元素已禁用
您可以尝试使用等待和预期条件:
Wait<WebDriver> = new FluentWait<>(webDriver)
.withTimeout(Duration.ofSeconds(TIMEOUT))
.pollingEvery(Duration.ofSeconds(POLLING))
.ignoring(NoSuchElementException.class);
wait.until(ExpectedConditions.elementToBeClickable(By.id("password"))).click();
或
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("password"))).click();
1.现在只使用Thread.sleep(5000(;它可能是工作的,否则使用硒等待,如隐式、显式和流畅的等待