在我的网络应用程序中,我需要点击出现的chrome打印预览窗口的取消按钮。我发现Web中的一些代码可以在窗口之间切换,但出于某种原因,它似乎并没有起作用。请帮忙。
driver.findElement(By.xpath("//*[@id='PrintBill']")).click();
driver.findElement(By.xpath("//*[@id='savebill']")).click();
// This is in the parent window.
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
driver.findElement(By.xpath("//*[@id='print-header']/div/button[2]")).click();
//this is in the child window(print preview window)
这是我从...... http://seleniumwebdriverfaq.blogspot.in/2012/02/how-can-i-switch-webdriver-control-to_4426.html
找到代码的地方答案 0 :(得分:0)
看起来问题是Chrome打印页面不仅仅是另一个浏览器窗口,而是一个模式对话框,这意味着Selenium可能无法与之交互。所以你可以做的是使用机器人。以下是您的问题的示例解决方案。直接发布#11:
我在示例页面上快速检查了它并且工作正常。