如何使用 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) 客户端设置选项