我正在尝试使用Selenium Java在IE浏览器中关闭Active X窗口。我试过了
String winHandleBefore = driver.getWindowHandle();
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
driver.close();
driver.switchTo().window(winHandleBefore);
此驱动程序关闭方法弹出另一个确认窗口。手动我可以通过X按钮或Alt + F4关闭此窗口。我做了一些研究和几个线程,说Selenium无法处理ActiveX窗口。
在那种情况下,我可以使用带有selenium的java脚本来关闭窗口吗?或者我可以使用Selenium发送Alt + F4命令吗?我不关心窗口内容,我只是想关闭窗口。
更新:每个请求下面附带的屏幕截图。我在这里指的活动x窗口标题为“xxx图像查看器 - 网页对话框”。我点击了帮助?按钮以获取窗口的更多详细信息,它显示在“xxxx Active-X”
中)。
答案 0 :(得分:0)
尝试使用“java.awt包”的机器人类和 KeyEvent类>发送“Alt + F4”键strong> “java.awt.event package”,如下所示,以关闭ActiveX窗口(假设焦点位于ActiveX窗口,弹出时) :
Thread.sleep(3000);// Some sleep time in order to detect the presence of Active X window
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
robot.keyRelease(KeyEvent.VK_F4);
robot.keyRelease(KeyEvent.VK_ALT);