【问题标题】:how to check checkbox in Selenium with java?java - 如何使用Java检查Selenium中的复选框?
【发布时间】:2014-05-14 07:36:10
【问题描述】:

我想用 java 检查 Selenium WebDriver 中的复选框,但它返回异常 ElementNotVisibleException.Element is current not visible ...

元素不可见但不隐藏。我用 firefox 和 PhantomJS 都试过了,但还是不行。

我在这里找到了很多建议,但仍然不起作用

HTML 代码:

<span class="checkbox"> 
<input id="terms-checkbox" class="required" type="checkbox" name="terms_agreement">
</input> 
<label for="terms-checkbox"></label>
</span>

【问题讨论】:

  • 添加更多详细信息:HTML、您尝试过的内容等等。参考stackoverflow.com/questions/16651610/…
  • 我尝试在一个 Maven 项目中使用 selenium 测试一个网站。因此,测试工作正常,但不检查复选框,我可以使用 firefox 或 PhantomJS 在浏览器中看到该元素。但它无法检查它,我得到了一个例外。我认为这是一个可见性问题,但我不知道解决方案
  • for (int second = 0;; second++) { if (second >= 60) fail("timeout");尝试 { if (isElementPresent(By.id("terms-checkbox"))) 中断; } 捕捉(异常 e){} Thread.sleep(1000); } driver.findElement(By.id("terms-checkbox")).click();

标签: java firefox selenium xpath selenium-webdriver


【解决方案1】:

如问题所述,该元素未隐藏但无法找到。因此,它可能通过标签标签可见。您应该尝试使用以下代码:

driver.findElement(By.xpath("//label[@for='terms-checkbox']")).click();

【讨论】:

    猜你喜欢
    • 2016-10-29
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 2017-04-10
    • 2020-08-17
    • 2010-12-03
    • 2014-08-31
    • 2022-12-16
    相关资源
    最近更新 更多