org.openqa.selenium.TimeoutException:预期的条件失败: (试过10次 第二个(MILLISECONDS间隔为500)
这是我的代码:
public static ExpectedCondition<Boolean> waitForTextToChange(final WebElement element, final String currentText) {
return new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver arg0) {
return !element.getText().equals(currentText);
}
};
}
使用代码:
WebElement element = driver.findElement(...);
String currentText = element.getText();
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(waitForTextToChange(element, currentText));
答案 0 :(得分:1)
执行失败,因为命令没有在足够的时间内完成。可能是您需要1)延长等待文本出现的时间,或者2)您正在查看的元素可能不会以您期望的方式显示文本。您应该调试并查看element.getText()返回的内容。您正在使用等号,因此文本必须完全匹配。如果您有任何空格或小写与大写问题,则文本将不匹配。这有多种不同的原因可以解决这个问题。您应该使用断点添加try / catch和debug,以查看代码中究竟发生了什么。
答案 1 :(得分:0)
这是超时错误。 使用try,catch来处理异常。