2017-06-14 44 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並用斷點調試來查看代碼中究竟發生了什麼。

相關問題