如何在java中使用selenium webdriver从多选框中选择一个复选框?

时间:2014-06-04 07:24:18

标签: java selenium-webdriver

我在网页中有多个选择框的以下代码,我需要     使用selenium为列表选择任何选项组     的webdriver

<div class="ms-drop bottom" style="display: block;">
    <div class="ms-search">
        <ul style="max-height: 250px;">
            <li class="group">
                <label class="optgroup" data-group="group_0" style="display: block;">
                    <input type="checkbox" name="selectGroup">AmaWaterways
                </label>
            </li>
            <li class="multiple" style="width: 180px;">
                <label style="display: block;">
                    <input type="checkbox" data-group="group_0" value="AmaSerena" name="selectItem">AmaSerena
                </label>
            </li>
            <li class="multiple" style="width: 180px;">
                <label style="display: block;">
                    <input type="checkbox" data-group="group_0" value="AmaPura" name="selectItem">AmaPura
                </label>
            </li>
        </ul>
    </div>
</div>

有人可以建议如何选择我选择的选项组吗?

1 个答案:

答案 0 :(得分:0)

为了切换复选框,它就像点击它一样简单。

String targetOption = "whatever";
By targetOptionLocator = By.cssSelector("input[type=checkbox][value=" + targetOption + "]");
driver.findElement(targetOptionLocator).click();

您可能还想检查是否已选中复选框:WebElement#isSelected

E.g:

void selectOption(String optionName) {
  By targetOptionLocator = By.cssSelector("input[type=checkbox][value='" +  + optionName + "']");
  WebElement option = driver.findElement(targetOptionLocator);
  if(!option.isSelected())
    option.click();
}