我正在尝试在使用硒运行时单击我的复选框。
使用铬驱动程序时,我在运行测试时没有问题。 但是当我切换到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();
试试这个块。