WebDriver等待元素属性更改
2022-09-02 01:01:47
如何使用 WebDriverWait 等待属性更改?
在我的AUT中,我必须等待按钮启用才能继续,不幸的是,由于开发人员编码页面的方式,我无法使用WebElement的isEnabled()方法。开发人员正在使用一些CSS来使按钮看起来像是被禁用的,因此用户无法单击它,并且方法isenabled对我来说总是返回true。因此,我所要做的是获取属性“aria-disabled”,并检查文本是“true”还是“false”。到目前为止,我一直在做的是使用Thread.sleep进行for循环,如下所示:
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而不是String,但这是我试图评估的。有什么想法吗?