我正在用硒进行测试。两(2)个页面元素被禁用,一个是“输入”,另一个是“标签”。我已附上图片,显示它们看起来像被禁用。
但是Selenium驱动程序不能断言“标签”类型为禁用,尽管显然是禁用的。
FE开发人员代码将“标签”和“输入”定义为禁用元素是否有问题?
我要声明的代码是:
Assert.assertFalse(driver.findElement(By.xpath("abc").isEnabled());
输入元素:
标签元素:
<input>
禁用的属性禁用的<input>
元素不可使用且不可点击。有时会设置disabled
属性,以使用户无法使用<input>
元素,直到满足其他条件(例如,选择下拉菜单,复选框等)。
按照第一张图片:
[<input>
被分配了disabled属性,可能迫使用户首先填充originCity。
将[[for
属性设置为settingsDangerousGoods的<label>
,将控制以下[Cid]属性设置为
settingsDangerousGoods的<input>
元素分配给[[disabled]]属性可能会强制用户填写之前的必填字段。但是,JavaScript
<input>
元素可用。更新<label>
的属性适用于具有id
属性设置为for='settingsDangerousGoods'
的元素,它是随后的<input>
元素。但是,您不会与<label>
进行交互,但很可能会与<input>
元素进行交互。参见docs:isEnabled():
Is the element currently enabled or not? This will generally return true for everything but disabled input elements.