0

我在注册页面中的“我已阅读并同意条款和条件”文本旁边有一个复选框。在播放过程中,我可以看到一些点击正在发生。但最后该复选框仍未选中。为什么会这样。

这是我的 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();

对于所有这些,我得到了类似的结果。

为什么我无法单击复选框?

4

1 回答 1

1

你的代码对我来说看起来不错。您是否检查过 onclick-handler 不会干扰您的点击?也许用户名可用性检查失败(顺便说一句,T&C 复选框是一个奇怪的地方来检查用户名可用性......)

于 2013-02-28T07:30:00.923 回答