Selenium - 无法点击谷歌页面内的按钮

时间:2014-03-11 05:25:29

标签: selenium-webdriver

点击谷歌页面内的按钮时出现问题。

我的脚本无法点击页面上的按钮。

这是我们在安装任何应用程序时通常会获得的页面。

此特定按钮不在框架内。

按钮出现在页面上,延迟时间为秒,我也尝试使用Implicit& WebDriver等等。

我尝试了很多东西而没有任何成功。

我已经提到过我试过的东西&我得到的输出。

如果有人帮我解决这个问题,我真的很感激。

我尝试过的事情

1)尝试使用Id,Xpath

访问对象

d1.findElement(By.id("submit_approve_access")).click();

d1.findElement(By.xpath("//button[@id='submit_approve_access']")).click();

输出 - 没有任何反应。单击按钮(允许访问)后,脚本将顺利移动

2)尝试使用Javascript

单击对象

js.executeScript("document.getElementById('submit_approve_access').click()");

js.executeScript("window.document.getElementById('submit_access').click()");

在IE的控制台中,我使用了以下单击按钮

document.getElementById('submit_approve_access').click();

输出 - 与步骤1相同

3)通过在IDE中检查目标路径来尝试,使用CSS&尝试了以下

new WebDriverWait(d1,10000).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("css=#submit_approve_access"))).click();

还尝试播放录制的脚本,但该脚本也停留在同一页面上

输出 - 这次我得到以下异常

WARNING: WebDriverException thrown by findElement(By.selector: css=#submit_approve_access) org.openqa.selenium.InvalidElementStateException: invalid element state: Failed to execute 'querySelector' on 'Document': 'css=#submit_approve_access' is not a valid selector. (Session info: chrome=33.0.1750.146) (Driver info: chromedriver=2.6.232923,platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 23 milliseconds

4)尝试使用以下

进行上述示例

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("submit_approve_access"))); WebElement CLICK = d1.findElement(By.id("submit_approve_access")); CLICK.click(); System.out.println("Element Found");

输出:这次我在上面的代码之后有了syso。因此,在我的执行期间,它确实打印了Element Found。但是,它没有点击按钮

1 个答案:

答案 0 :(得分:0)

尝试使用org.openqa.selenium.support.ui.WebDriverWait课程。在查找元素时,将轮询直到预期条件为真并返回该条件的结果。你可以阅读它here