检查按钮是否已启用Selenium Webdriver

时间:2015-06-26 17:27:25

标签: selenium selenium-webdriver

我正在尝试检查网页上是否启用了按钮。我尝试了以下方法,但即使按钮被禁用,它们都会返回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文本也是相同的。

任何人都可以建议任何更好的主意。

1 个答案:

答案 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)+");
}