2017-06-14 84 views
0

org.openqa.selenium.TimeoutException:预期条件失败: (试过10 秒与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

这是超时错误。 使用try,catch来处理异常。

0

执行失败,因为命令没有足够的时间完成。这可能是因为您需要1)延长等待文本出现的时间,或者2)您正在查看的元素可能不会按照您期望的方式显示文本。您应该调试并查看element.getText()返回的内容。您正在使用等号,因此文本必须完全匹配。如果您有任何空格或小写与大写问题,则文本将不匹配。有多种不同的原因会导致超时。你应该添加一个try/catch并用断点调试来查看代码中究竟发生了什么。

相关问题