Selenium HtmlUnitDriver 点击复选框



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

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

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

我尝试了多种方法,例如:

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

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

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

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

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

所以我决定继续使用PhantomJS,它可以工作。

幻影

谢谢大家!

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

试试这个块。

最新更新