我需要执行以下步骤:
a)如果勾选,则按照某些步骤进行操作
b)如果未勾选,则勾选复选框并按照a)
中的相同步骤操作这是我的HTML代码:
<td style="width: 4.5%; padding-left: 2px;" class="heading" data-bind="css: selected() ? 'headingSelected' : 'heading'">
<img title="Click to show all employees" data-bind="click: _apps.expandUnExpand, visible: !expanded()" class="clickable" src="/Content/Images/plus.gif" style="display: none;">
<img title="Click to hide all employees" data-bind="click: _apps.expandUnExpand, visible: expanded()" class="clickable" src="/Content/Images/minus.png">
<img title="Click To Select Application" data-bind="click: _apps.selectUnSelect, visible: !selected() && !_apps.readOnly() " class="clickable" src="/Content/Images/unchecked.png">
<img title="Click To Unselect Application" data-bind="click: _apps.selectUnSelect, visible: selected() && !_apps.readOnly() " class="clickable" src="/Content/Images/checked.png" style="display: none;">
</td>
以下是我的代码:
if(driver.findElement(By.xpath("//[@id='AuraACLs']/div[2]/div[1]/table/tbody/tr/td[1]/img[3]")).isEnabled()) //Xpath when checbox is ticked
{
System.out.println("checkbox is selected");
driver.findElement(By.xpath("//button[text()='Add to ACL']")).click();
}
else if(driver.findElement(By.xpath("//[@id='AuraACLs']/div[2]/div[1]/table/tbody/tr/td[1]/img[3]")).isEnabled()) //xpath when checkbox is not ticked
{
System.out.println("checkbox is unselected");
driver.findElement(By.xpath("//[@id='AuraACLs']/div[2]/div[1]/table/tbody/tr/td[1]/img[3]")).click();// tick the checkbox
driver.findElement(By.xpath("//button[text()='Add to ACL']")).click();
}
如果我尝试使用单一代码可以运行,但是当我结合使用时,If(if和else if)代码都不起作用
答案 0 :(得分:1)
看起来你的if语句都在问同样的问题
if (checkbox.isEnabled())
{
//Do this
}
else if (checkbox.isEnabled())
{
// Do something else
}
但是在两个if语句中你的检查条件是相同的。将您的else-if
更改为
else if (!checkbox.isEnabled())
!
是一个否定运算符,并检查条件是否为真。