如何使用 Selenium Webdriver 验证复选框是不是被选中?

Posted

技术标签:

【中文标题】如何使用 Selenium Webdriver 验证复选框是不是被选中?【英文标题】:How to validate the checkbox is selected or not using Selenium Webdriver?如何使用 Selenium Webdriver 验证复选框是否被选中? 【发布时间】:2019-03-16 02:28:10 【问题描述】:

选中的复选框 Web 元素详细信息:-

<label class="container_checkbox">
   <input type="checkbox" class="Control Checkbox" value="on" style="display: inline-block;">
   **<span class="checkmark">
     ::after
   </span>**
</label>

未选中的复选框 Web 元素详细信息:-

<label class="container_checkbox">
   <input type="checkbox" class="Control Checkbox" value="on" style="display: inline-block;">
   **<span class="checkmark"></span>**
</label>

为了表明复选框被选中,开发人员使用 CSS ::after 选择器。 如何使用 selenium webdriver 检查复选框是否被选中。

【问题讨论】:

您使用的是哪种 Selenium 语言绑定艺术Java / Python / C# / NodeJS ?你的代码试验? 我在 Java 中使用 Selenium 【参考方案1】:

试试这个..

private boolean isChecked;
private WebElement e;

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

或者你可以参考之前问的这个解决方案

[Selenium checkbox attribute "checked"

【讨论】:

【参考方案2】:

要验证是否选中了复选框,您可以使用以下解决方案:

使用isSelected()方法:

Java

boolean selection = driver.findElement(By.xpath("//label[@class='container_checkbox']/input[@class='Control Checkbox']")).isSelected();

【讨论】:

我已经尝试过 isSelected() 方法。但不幸的是,此方法不适用于上述复选框。【参考方案3】:

希望你熟悉c#语法,

IWebElement ele = driver.FindElement(By.XPath("//label[@class='container_checkbox']/input[@class='Control Checkbox']"));

SelectElement select = new SelectElement(ele);

IList<IWebElement> allSelectedOp = select.AllSelectedOptions;

将为您提供所有选定选项的列表, 如果您想具体使用下面的内容可能会对您有所帮助,

Boolean IsSelected = driver.findElement(By.xpath("//label[@class='container_checkbox']/input[@class='Control Checkbox']")).isSelected();

您可以验证布尔值是真还是假

【讨论】:

以上是关于如何使用 Selenium Webdriver 验证复选框是不是被选中?的主要内容,如果未能解决你的问题,请参考以下文章

Selenium & webdriver.io 如何使用 executeScript?

如何使用selenium webdriver来判断一个网页加载完毕

如何使用 C# 在 Selenium WebDriver (Selenium 2) 中最大化浏览器窗口?

如何在 ruby​​ 中使用 Selenium WebDriver (selenium 2.0) 客户端设置选项

如何在 Java 中使用 Selenium WebDriver (Selenium 2) 输入文本框?

如何重新连接到 webdriver 使用 selenium 打开的浏览器?