如何使用WebDriverWait等待屬性更改?WebDriverWait用於更改元素屬性
在我的AUT中,我必須等待按鈕才能繼續,因爲開發人員編寫頁面的方式不能使用WebElement的isEnabled()方法。開發人員正在使用一些CSS來使按鈕看起來像禁用,因此用戶無法點擊它,並且方法isEnabled總是爲我返回true。所以我必須做的是獲得「詠歎調禁用」的屬性,並檢查文本是「真」還是「假」。我到目前爲止一直在做的事情是一個與了Thread.sleep,這樣的循環:
for(int i=0; i<6; ++i){
WebElement button = driver.findElement(By.xpath("xpath"));
String enabled = button.getText()
if(enabled.equals("true")){ break; }
Thread.sleep(10000);
}
(忽略上面的代碼如果不正確,只是假的我在做什麼碼)
我確定有一種方法可以使用WebDriverWait來實現類似的功能,這是我無法弄清楚的首選方法。這就是我想實現即使下面的不會起作用:
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOf(refresh.getText() == "true"));
顯然,因爲函數需要一個WebElement不是字符串它不工作,但它就是我想要評估。有任何想法嗎?