java - Selenium Webdriver "Expectedconditions.not"未按预期工作

标签 java selenium webdriver selenium-webdriver wait

WebDriverWait wait = new WebDriverWait(driver, 60)

WebElement element = driver.findElement(By.xpath("//div[contains(text(),'Loading...')]"));
System.out.println("Test");
wait.until(ExpectedConditions.not(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(),'Loading...')]"))));
System.out.println("Test");

正在尝试等待页面加载完成。第一个“测试”打印在控制台中,下面的异常打印在执行 wait.until 语句时。 即使在加载屏幕消失后,wait.until 仍在等待。 已经尝试过元素的陈旧性也不起作用,得到相同的超时异常。 加载完成后,该元素在 DOM 中不再可用

最佳答案

当您想等待元素不存在时,请使用 presenceOfAllElementsLocatedBy 而不是 presenceOfElementLocated:

wait.until(ExpectedConditions.not(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//div[contains(text(),'Loading...')]"))));

它将一直等到页面上没有适合定位器的元素。

关于java - Selenium Webdriver "Expectedconditions.not"未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19930703/

相关文章:

javascript - 如何使用 javascript 将系统时区发送到 servlet

python - Selenium Python 3.0.0b2 与最新的 Firefox 发布版本 48.0 不兼容

java - 有没有办法检查Web控制台(例如FireBug)是否以java语言打开?

selenium - 如何在 Selenium 中使用 Chrome DevTools 协议(protocol)(使用 Python)来捕获 HTTP 请求和响应?

selenium - 线程 "main"java.lang.NoClassDefFoundError : okhttp3/ConnectionPool with Selenium and Java 中的异常

java - 如何使用 webdriver 增加 HTML 表格列宽

java - 如何处理页面未找到或显示异常

java - 如何为 swagger 2.8.0 做友好的基本 url

java - 使用 Autowiring bean 调用实例方法

java - 如何在空游戏中计算 FPS?