java - 使用 Selenium 检查复选框是否被选中

标签 java angularjs selenium selenium-webdriver

以下代码片段表示一个复选框,我想使用 Selenium 检查它是否被选中。

for (int j = 2; j < 5; j++)
{
    List<WebElement> td1 = row1.findElements(By.tagName("td"));
    WebElement check = td1.get(j);

    if (check.isEnabled())
    {
        if (!check.isSelected())
        {
            List<WebElement> checkBox = ele
                    .findElements(By.xpath("//input[contains(@ng-change,'vm.updateInvoicingMethodMailByGroup(item)')]"));
            WebElement elem3 = checkBox.get(count);
            elem3.click();
            count++;
            break;
        }
    }
}

当我检查这个时,类(class)从

class="ng-valid ng-dirty ng-valid-parse ng-empty ng-touched"

class="ng-valid ng-dirty ng-valid-parse ng-not-empty ng-touched"

HTML

<input type="checkbox" name="invoicingByMailFlag" ng-model="item.invoicingByMailFlag"
    ng-change="vm.updateInvoicingMethodMailByGroup(item)" class="ng-valid ng-dirty
    ng-valid-parse ng-empty ng-touched">`

最佳答案

你可以检查它是否有类属性 ng-empty 或没有

List<WebElement> checkBoxes = ele.findElements(By.xpath("//input[contains(@ng-change,'vm.u‌​pdateInvoicingMethod‌​MailByGroup(item)')]‌​"));
WebElement checkBox = checkBoxes.get(count);
if (checkBox.getAttribute("class").contains("ng-empty")) {
    // checkbox not checked
}

关于java - 使用 Selenium 检查复选框是否被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44177631/

相关文章:

java - 如何通过HashMap将整数传递给参数?

html - 如何编写没有值的可选属性来显示/隐藏某些 block ?

angularjs - ui 自动化的唯一标识符

JavaScript 的 .select() 方法仅在第二次尝试时触发

java - 收到错误 - java.lang.ClassCastException : org. openqa.selenium.chrome.ChromeDriver 无法转换为 com.initialization.DriverInitialization

python - Selenium/Python - 通过 css 选择器选择

java - fatal :unable to update url base from redirection. ..无法解决

java - 你能让一个方法==另一个方法吗?

指定文本字段宽度的 Java GUI

javascript - 如何在 selenium webdriver 中从一个弹出窗口切换到另一个弹出窗口