我在注册页面中的“我已阅读并同意条款和条件”文本旁边有一个复选框。在播放过程中,我可以看到一些点击正在发生。但最后该复选框仍未选中。为什么会这样。
这是我的 HTML 代码
<div class="checkbox_container">
<input name="newuserXYX.agree" value="true" tabindex="106" id="newuserXYX.agree" onclick="ABC.e.reg.checkuserNameAvailability();" type="checkbox">
<input id="__checkbox_newuserXYX.agree" name="__checkbox_newuserXYX.agree" value="true" type="hidden">
<label id="registration_Agree" for="newuserXYX.agree">I have read and agree to the Terms and Conditions</label>
</div>
我将我的 testNg 代码写为
boolean checked=driver.findElement(By.xpath("//input[@name='newuserXYX.agree']")).isSelected();
if(checked==false)
driver.findElement(By.xpath("//input[@name='newuserXYX.agree']")).click();
我尝试过的各种方法是
@FindBy(how=How.ID_OR_NAME,using="newuserXYX.agree")
@CacheLookup
private WebElement iagreeCB;
在@Test里面
iagreeCB.click();
对于所有这些,我得到了类似的结果。
为什么我无法单击复选框?