繁体   English   中英

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

[英]How to check if element is clickable in Selenium WebDriver using Java

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

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

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

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;
        }
    }

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

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

如果按钮可点击,这将返回true

如果可点击意味着未禁用,则可以使用WebElement.isEnabled()

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

关于把文字变成红色的文字输入,如果要检测应该先搞清楚文字是怎么变成红色的; 可能是通过为input元素设置 CSS classstyle属性来实现的,在这种情况下,您可以尝试从元素中读取该属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM