如何使用Java处理浏览器弹出窗口(下载期间)

如何使用Java处理浏览器弹出窗口(下载期间),java,selenium-webdriver,ui-automation,Java,Selenium Webdriver,Ui Automation,目前,我们使用Java的Web驱动程序(Selenium)从网站上删除数据,在删除过程中,我们需要执行一些下载过程(即XML文件下载),让我知道如何使用Java处理浏览器弹出窗口(另存为对话框) <a href="javascript:downloadXML()"> <img width="40" height="20" border="0" name="imag34" alt="Download" src="/pair/img/tabs/downloadxml.gif

目前,我们使用Java的Web驱动程序(Selenium)从网站上删除数据,在删除过程中,我们需要执行一些下载过程(即XML文件下载),让我知道如何使用Java处理浏览器弹出窗口(另存为对话框)

<a href="javascript:downloadXML()">
    <img width="40" height="20" border="0" name="imag34" alt="Download" src="/pair/img/tabs/downloadxml.gif">
</a>
单击该图像后,将打开“另存为…”弹出窗口。我们如何进入弹出窗口并对其进行测试


此下载弹出窗口基本上是一个window.open Javascript调用,带有XML文件的URL。 因此,这似乎是相关的链接:


我刚刚使用Java中的Robot类解决了这个问题。Robot类允许您模拟键盘按键,这样您可以使用选项卡和输入来执行下载。

这实际上是一个windows弹出窗口,firebug将无法检测到。如果您使用的是windows操作系统,那么您可以使用AutoIT工具,这将解决您的问题。

检查请显示代码或屏幕截图。所谓“弹出”,有些是指实际的浏览器窗口,有些是指iframe弹出,有些是指HTML div弹出,有些是指警报。你说的是哪一个?在下载过程中会弹出浏览器,如“你想打开或保存file.xml”…你的目标浏览器是哪一个???FF或IE或chrome??仅针对IE(版本9)第一点-单击“下载XML”按钮时未获取URL,第二点-保存弹出窗口不是父窗口和子窗口,无法找到/触发该保存弹出窗口中的元素,此外,我还尝试了您的选项它似乎不起作用尝试在Firefox中使用Firebug工具来找出此弹出窗口是什么类型的WebElement。这是用于浏览器弹出窗口的,无法使用Firebug或developer toolsCheck检查元素,如果有任何帮助:
driver.findElement(By.xpath("(//img[@alt='Download'])[3]")).click();