我必须检查文本框是否只接受特定数量的字符。如果字符超出,则不会出现任何错误,只会将文本变为红色。另一个文本框根本不接受其他字符。如何确认文本框在两种情况下都不接受更多字符?
我有一个选择,检查'保存'页面上可见的按钮是可点击的。如何使用Java中的Selenium WebDriver执行此操作?
答案 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 style
或input
属性来做到这一点,在这种情况下,您可以尝试从元素中读取该属性。