我想断言特定的文本框是禁用还是启用。下面是HTML
。禁用文本框和启用文本框之间的区别仅是靠disabled
属性。
disabled text box HTML:
<input controlid="txtIPAddress" class="textfield form-control servicefield invItem_dynamic_validation valid" id="OrderProperties_4__Value" isdisabled="true" name="OrderProperties[4].Value" style="display:" type="text" value="" disabled="">
enagled text box HTML-
<input controlid="txtIPAddress" class="textfield form-control servicefield invItem_dynamic_validation valid" id="OrderProperties_4__Value" isdisabled="true" name="OrderProperties[4].Value" style="display:" type="text" value="">
我尝试了element.isEnabled()
和element.isEnabled()
方法都没有用。
任何帮助,不胜感激!
答案 0 :(得分:1)
根据documentation isEnabled()
方法的定义为:
boolean isEnabled()
Description:
Is the element currently enabled or not? This will generally return true for everything but disabled input elements.
Returns:
True if the element is enabled, false otherwise.
因此,您的 element.isEnabled()
代码试用版非常适合检索状态,无论元素是否启用或未提供 唯一标识您在问题内提供的节点。
或者,您可以尝试使用以下解决方案来验证是否存在没有属性 已禁用的元素。
try {
driver.findElement(By.xpath("//input[@class='textfield form-control servicefield invItem_dynamic_validation valid' and not(disabled)][@controlid='txtIPAddress']"));
System.out.println("Element is enabled");
} catch (NoSuchElementException e) {
System.out.println("Element is not enabled");
}
答案 1 :(得分:0)
要断言文本框可编辑,我们可以使用 isEnabled()
函数。
请参阅下面的示例,
boolean anytextfield = driver.findElement(By.xpath("respectivexpath")).isEnabled();
Assert.assertEquals(anytextfield,true);