你如何判断在Selenium for Java中是否选中了复选框?

我正在使用Java中的Selenium来测试Web应用程序中复选框的检查。代码如下:

private boolean isChecked;
private WebElement e;

我声明并将其分配给复选框所在的区域。e

isChecked = e.findElement(By.tagName("input")).getAttribute("checked").equals("true");

奇怪的是,返回,因此getAttribute("checked")nullNullPointerException

在复选框的 HTML 中,不显示任何属性。但是,不是所有元素都有一个,所以这个代码应该工作吗?checkedinputchecked = "true"


答案 1

如果您使用的是Webdriver,那么您要查找的项目是“已选择”。

通常,在复选框的呈现中,除非指定,否则实际上不会应用选中的属性。

所以你会在Selenium Webdriver中寻找的是这个

isChecked = e.findElement(By.tagName("input")).Selected;

由于WebDriver Java API中没有Selected,因此上面的代码应如下所示:

isChecked = e.findElement(By.tagName("input")).isSelected();

答案 2
if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
     driver.findElement(By.id("idOfTheElement")).click();
}

推荐