在selenuim webdriver中 - 我想为它们选择25个具有相同ID但具有不同值的复选框。我试图自动化的网页有25个与“chkDelete”相同id的chexk盒子,其值如下所示。
<input id="chkDelete" class="clsCheckBox" type="checkbox" value="1" name="chkDelete">
<input id="chkDelete" class="clsCheckBox" type="checkbox" value="2" name="chkDelete">
<input id="chkDelete" class="clsCheckBox" type="checkbox" value="3" name="chkDelete">
....直到25.
我尝试使用此代码,但它没有按预期工作。
if ((!driver.findElement(By.id("chkDelete")).isSelected())
&& (driver.findElement(By.id("chkDelete")).getAttribute("value") == "4")) {
driver.findElement(By.id("chkDelete")).click();
}
有人帮忙
答案 0 :(得分:2)
使用以下代码:
List <WebElement> deleteCheckbox = driver.findElements(By.id("chkDelete"));
for(WebElement checkDelete : deleteCheckbox)
{
if(!checkDelete.isSelected())
{
checkDelete.click();
}
}
答案 1 :(得分:1)
根据您的示例单击值为4的复选框:
List<WebElement> boxes = driver.findElements(By.Id("chkDelete"));
for(WebElement box : boxes) {
if(box.getAttribute("value") == "4") {
if(!box.isSelected()) {
box.click();
}
}
}