Selenium HtmlUnitDriver点击复选框

时间:2017-07-04 04:00:38

标签: java selenium xpath checkbox htmlunit

我正在尝试使用selenium运行时点击我的复选框。

使用chromedriver时,我没有遇到运行测试的问题。 但是当我切换到HtmlUnitDriver时,它会在单击复选框操作时抛出错误。引发的错误是

  

org.openga.selenium.ElementNotVisibleException:您只能与可见元素进行交互

我尝试了多种方法,如:

driver.findElement(By.xpath("//*[@id=\"chkConfirm\"]")).sendKeys(Keys.SPACE);
driver.findElement(By.xpath("//*[@id=\"chkConfirm\"]")).click();

但它都不起作用。有人可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

WebElement checkBox = driver.findElement(By.xpath("//*[@id='chkConfirm']"))
checkBox.isDisplayed();
if(!checkBox.isSelected())
checkBox.click();

尝试此块。

答案 1 :(得分:0)

您可以在点击元素之前添加等待吗?请参阅下面的示例。

WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id=\"chkConfirm\"]")));
driver.findElement(By.xpath("//*[@id=\"chkConfirm\"]")).click();

答案 2 :(得分:0)

好。我已经尝试了两个建议的答案但没有效果。

所以我决定继续使用PhantomJS,它确实有效。

PhantomJS

谢谢大家!