如何关闭Selenium中的IE Popup ActiveX窗口?

时间:2014-12-08 16:09:11

标签: java selenium activex

我正在尝试使用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”

)。enter image description here

1 个答案:

答案 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);