点击谷歌页面内的按钮时出现问题。
我的脚本无法点击页面上的按钮。
这是我们在安装任何应用程序时通常会获得的页面。
此特定按钮不在框架内。
按钮出现在页面上,延迟时间为秒,我也尝试使用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。但是,它没有点击按钮
答案 0 :(得分:0)
尝试使用org.openqa.selenium.support.ui.WebDriverWait
课程。在查找元素时,将轮询直到预期条件为真并返回该条件的结果。你可以阅读它here。