繁体   English   中英

选中复选框的状态是否为选中状态?

[英]Check State of check box as checked or Not?

我正在尝试验证复选框的状态是否已选中(如果状态为假),如果不执行其他操作,请单击。 我应该使用.getAttribute()还是.getState()。 我认为我应该使用get状态。

 WebElement checkbox = driver.findElement(By.name("companyOptionsForm:mandateVerificationTotals"));

     if (checkbox.getState() == true) {
      //do something
     } else if (checkbox.getState()== false) {
      //do something
     }

复选框的HTML

< input name = "companyOptionsForm:mandateVerificationTotals"
type = "checkbox"role = "checkbox"aria - checked = "true"
class = "dijitReset dijitCheckBoxInput"data - dojo - attach - point = "focusNode"
data - dojo - attach - event = "ondijitclick:_onClick"
value = "on"tabindex = "0"id = "mandateVerificationTotals"
checked = "checked" style = "user-select: none;" >

但是,当我使用.getState()时,日食会在其下显示一条红线。

AWT Checkbox有一个名为getState()的方法,但没有一个名为isSelected()的方法。

Swing JCheckBox具有一个名为isSelected()的方法,但没有一个名为getState()的方法。

正如@Arthur所展示的,不要将布尔值与false的true进行比较; 只需使用if (booleanVariable)if (!booleanVariable)

做这样的事情:

WebElement checkbox = driver.findElement(By.name("companyOptionsForm:mandateVerificationTotals"));

if (checkbox.isSelected()) {
  //do something
 } else  {
  //do something else
 }

您还可以使用javascript来验证是否已选中复选框

public boolean isChecked(WebElement element) {
    return (boolean) ((JavascriptExecutor) driver).executeScript("return arguments[0].checked", element);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM