我在尝试点击表单中的按钮时遇到问题。 我试过xpath,cssselector,className,id,但还是找不到它。使用Webdriver无法在表单上找到按钮元素
这里的按钮的HTML片段:
<input type="button" value="Continue" id="ni-reg-btn-register" class="btnNext ni-reg-btn-register">
我使用webdriver的在Java中
获取此跟踪:
org.openqa.selenium.ElementNotVisibleException:元素当前不可见和因此可能不会与 命令持续时间或超时:30.09秒
频率:100%
浏览器:Firefox
网址:https://subscription.thetimes.co.uk/webjourney/webj_capturecustomerdetails
我一个(但没有运气)尝试每一个代码以下行:
driver.findElement(By.className("btnNext ni-reg-btn-register")).click();
driver.findElement(By.cssSelector("buttons#ni-reg-btn-register.btnNext ni-reg-btn-register")).click();
List<WebElement> buttonlist= driver.findElements(By.className("btnNext ni-reg-btn-register"));
driver.findElement(By.id("ni-reg-btn-register")).click();
driver.findElement(By.xpath("//*[@id="ni-reg-btn-register"]")).click();
如果您收到ElementNotVisibleException,则无法单击该元素。你可以检查几件事情。首先,我已经看到了很多,在DOM中可能存在另一个相同的按钮,它是隐藏的,而不是您想要点击的按钮。检查重复项。接下来检查是否需要等待元素可见之后才能点击它。尝试浏览你的代码,看看你是否得到相同的错误。 – Bob 2013-04-30 19:32:30
,现在我已经查看了您提供的网站,但没有看到任何重复内容,但它仍然可能是时间问题。另外,既然它是一个表单,你也可以尝试driver.findElement(By.id(“ni-reg-btn-register”))。submit();无论哪种方式,您的选择似乎都是现货。 – Bob 2013-04-30 19:41:08