如何使用Java检查Selenium WebDriver中的元素是否可单击

时间:2017-02-17 08:52:52

标签: java selenium-webdriver

我必须检查文本框是否只接受特定数量的字符。如果字符超出,则不会出现任何错误,只会将文本变为红色。另一个文本框根本不接受其他字符。如何确认文本框在两种情况下都不接受更多字符?

我有一个选择,检查'保存'页面上可见的按钮是可点击的。如何使用Java中的Selenium WebDriver执行此操作?

3 个答案:

答案 0 :(得分:1)

只需编写以下方法,并在想要检查元素是否可点击时调用它。也传递必要的参数。

public static boolean isClickable(WebElement el, WebDriver driver) 
    {
        try{
            WebDriverWait wait = new WebDriverWait(driver, 6);
            wait.until(ExpectedConditions.elementToBeClickable(el));
            return true;
        }
        catch (Exception e){
            return false;
        }
    }

答案 1 :(得分:0)

您可以使用isEnabled()检查元素是否已启用。

driver.findElement(By.xpath("//path/to/element").isEnabled();

如果按钮可点击,则会返回true

答案 2 :(得分:0)

如果通过点击您的意思是未禁用,则可以使用WebElement.isEnabled()

关于不接受其他字符的文本输入,如果要检测其他字符,则取决于该约束的实施方式。例如,如果通过maxlength attribute完成,您可以尝试从input元素(WebElement.getAttribute(String))中读取该属性。在这种情况下,您可以提前知道可以向文本框发送多少个字符。

关于将文本变为红色的文本输入,如果要检测您应该首先找出文本如何变为红色;可能是通过为您的class元素设置CSS styleinput属性来做到这一点,在这种情况下,您可以尝试从元素中读取该属性。