M无法验证复选框,是否已选中 因为HTML都是相同的
我尝试了isSelected(),但它无法正常工作
以下是选定和未选择的
的HTML代码1)选中
<label class="c-account-access-panel__checkbox " for="23336" data-js-checkbox-label="">
<input id="23336" class="c-account-access-panel__checkbox-input" type="checkbox"
data-label-for-value-missing="Please select at least one account from the options below" data-form-field-validation-on-grid=""
required="" checked="" data-js-checkbox="" value="DE29973399" name="payer"/>
<div class="c-account-access-panel__checkbox-symbol"/>
2)未选中
<label class="c-account-access-panel__checkbox " for="23336" data-js-checkbox-label="">
<input id="23336" class="c-account-access-panel__checkbox-input" type="checkbox"
data-label-for-value-missing="Please select at least one account from the options below" data-form-field-validation-on-grid=""
required="" checked="" data-js-checkbox="" value="DE29973399" name="payer"/>
<div class="c-account-access-panel__checkbox-symbol"/>
提前致谢!
答案 0 :(得分:0)
如果 isSelected()不适合您。然后,您可以使用 JavascriptExecutor 来完成您的任务。在 JS 语句后面会告诉您目标状态复选框。
document.getElementById("23336").click();
document.getElementById("23336").checked;
checked方法返回true或false,具体取决于复选框状态。
答案 1 :(得分:0)
您可以使用getAttribute
方法进行验证。
首先使用任何唯一定位器
选择webElement WebElement checkbox=driver.findElement(By.xpath(".//input[@type='checkbox']"));
如果选中该复选框,则checkbox.getAttribute("checked")
会将结果显示为true
,否则会将结果显示为null
。因此,您可以使用checkbox.getAttribute("checked")
答案 2 :(得分:0)
根据 Java Docs isSelected()
方法确定是否选择了元素。此操作仅适用于<input>
元素,例如复选框,<select>
代码中的选项和单选按钮。
要验证是否选中了所需的复选框,您可以使用以下代码块:
boolean checkboxSelected = driver.findElement(By.xpath("//input[@class='c-account-access-panel__checkbox-input' and @name='payer']")).isSelected();
答案 3 :(得分:0)
使用xpath表达式,如:(// div [@ id ='23336')[1]或(// div [@ id ='23336')[2]使它们成为唯一元素然后执行.isselected( )