有一个复选框已经显示为已选中,现在当我检查时,它显示为HTML中的图像src。。当我点击复选框时,它将被取消选中或选中。
为了验证它的状态,我编写了这段代码,即使选中了复选框,也总是会出错。
WebElement chBox = driver.findElement(By.xpath
("/html/body/div[3]/div[2]/form/fieldset/div[1]/table/tbody/tr[10]/td/img"));
if (chBox.isSelected()) {
System.out.println("User active check box is already checked");
} else
System.out.println("User active check box is not checked");
}
为什么?
答案 0 :(得分:4)
WebElement chBox = driver.findElement(By.id("chkIsActive"));
if (chBox.isSelected())
{
System.out.println("User active check box is already checked");
}
else
{
System.out.println("User active check box is not checked");
}
希望这有帮助!
答案 1 :(得分:3)
检查/取消选中复选框,检查类属性是否已更改。如果是,则选择状态存储为类
的一部分 String Class=chk.getAttribute("class");
if(Class.contains("class name when it is checked"))
{
System.out.println("Status: "+chk.getAttribute("checked"));
//This will return Null, since it is not a real check box(type=checkbox),
//so there is no checked attribute in it
}
else
{
System.out.println("Not Checked");
}
isSelected()
方法不会处理这种类型的复选框,这就是为什么它始终返回false
或未选中(从您的角度来看)
请参阅:here
答案 2 :(得分:1)
using (ExcelPackage excelPackage = new ExcelPackage(fi))
{
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[sheetName];
ExcelCellAddress startCell = worksheet.Dimension.Start;
ExcelCellAddress endCell = worksheet.Dimension.End;
if (endCell.Row > 0)
{
for (int col = startCell.Column; col <= endCell.Column; col++)
{
dt.Columns.Add(Convert.ToString(worksheet.Cells[startCell.Row, col].Value));
}
for (int row = startCell.Row + 1; row <= endCell.Row; row++)
{
DataRow dr = dt.NewRow();
int x = 0;
for (int col = startCell.Column; col <= endCell.Column; col++)enter code here
{
dr[x++] = worksheet.Cells[row, col].Value;
}
dt.Rows.Add(dr);
}
}
}
答案 3 :(得分:1)
我发现,如果您的复选框包含tagname='input'
和type='checkbox'
,那么只有isSelected()
会返回布尔值。
否则,我们必须寻找另一个属性,该属性在选中和取消选中时会更改。
答案 4 :(得分:0)
您的findElement()调用丢失。点击以选中复选框或收音机
WebElement we = findElement(By.xpath("some path));
we.click();
we.isSelected() => true
答案 5 :(得分:0)
如果其他所有方法均失败,请尝试使用isDisplayed()
driver.findElement(By.xpath(xpath).isDisplayed()
答案 6 :(得分:0)
在我看来,isSelected()仅在默认选择时才返回true。当我们选择一个元素并尝试检查它是否被选中时,它可能不起作用。 如果我弄错了,请纠正我。 安奇
答案 7 :(得分:0)
问题可能出在您正在编写的xcode上。检查是否只能为
之类的复选框获得更独特的xcode“ / html / body / div [3] / div [2] / form / fieldset / div [1] / table / tbody / tr [10] / td / img [@ type ='checkbox']” < / p>
复选框xtype大多应以type = checkbox结尾,以便isSelected可以正常工作