我正在Java中使用Selenium来测试Webapp中复选框的检查。这是代码:
private boolean isChecked; private WebElement e;
我声明e并将其分配给复选框所在的区域。
e
isChecked = e.findElement(By.tagName("input")).getAttribute("checked").equals("true");
奇怪的是getAttribute("checked")回报null,因此NullPointerException
getAttribute("checked")
null
NullPointerException
在复选框的HTML中,没有checked显示属性。但是,不是所有input元素都有一个checked = "true",这样的代码就可以工作吗?
checked
input
checked = "true"
如果您使用的是Webdriver,则正在寻找的项目已选中。
除非指定,否则通常在复选框呈现中实际上不会应用选中的属性。
所以您在Selenium Webdriver中寻找的是
isChecked = e.findElement(By.tagName("input")).Selected;
由于WebDriver Java API中没有选定对象,因此上述代码应如下所示:
isChecked = e.findElement(By.tagName("input")).isSelected();