我正在尝试检查网页上是否启用了按钮。我尝试了以下方法,但即使按钮被禁用,它们都会返回true。
Boolean z = Driver.findElement(By.id("ext-gen81")).isEnabled();
System.out.println(z);
Boolean y = Driver.findElement(By.id("ext-gen72")).isEnabled();
System.out.println(y);
Boolean u = Driver.findElement(By.id("ext-gen81")).isDisplayed();
System.out.println(u);
Boolean v = Driver.findElement(By.id("ext-gen72")).isDisplayed();
System.out.println(v);
启用或禁用按钮的html文本也是相同的。
任何人都可以建议任何更好的主意。
答案 0 :(得分:-1)
来自您的评论
<button id="ext-gen81" class="x-btn-text x-tbar-page-next" type="button"/>
它看起来像ExtJS
Application.If所以你可以使用Selenium的element.isEnabled()
来检查元素是否被启用。为此,你必须检查元素的class属性并检查它是否包含禁用的css
以下代码片段特定于ExtJS元素,以检查它是否已启用。因为如果在ExtJS中禁用了元素,则该类将具有某些css,如x-item-disabled x-disabled
。我想它会对你有帮助。如果不按照相同的方法改变正则表达式以满足你的需要
public static Boolean isElementEnabled(WebElement element) {
String className = element.getAttribute("class");
return className.matches(".+(x-.+-disabled)+");
}