3 回答
TA贡献2051条经验 获得超10个赞
谢谢你找到了解决方案。我正在使用 Robot 类按下 Control 键和“J”(使用 Ctrl+J),这会在新选项卡中打开我的下载文件。在我使用 windowsHandle 关闭新窗口并导航回原始窗口之后.
//您下载文件的代码,下载文件后使用下面的代码
下面是我的代码
enter code here
Robot bot =new Robot();
Thread.sleep(1000);
bot.keyPress(KeyEvent.VK_CONTROL);
bot.keyPress(KeyEvent.VK_J);
bot.keyRelease(KeyEvent.VK_CONTROL);
bot.keyRelease(KeyEvent.VK_J);
String winHandleBefore = driver.getWindowHandle();
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
TA贡献1876条经验 获得超6个赞
另一种选择是使用可以控制 UI 对象的工具。其中之一是免费软件,是 Auto-It。它可以识别浏览器的下载\上传窗口,对其进行控制和关闭。您可以编写脚本、构建它 - 并从您的 Java 代码中 - 在下载\上传窗口打开时调用它。
TA贡献1780条经验 获得超3个赞
据我所知,无法使用 Selenium/WebDriver 在 Chrome 上关闭下载面板。可能还有其他一些解决方案供您考虑。例如:
1. 使用动作链移动到要定位的元素org.openqa.selenium.interactions.Actions
2. 在新标签中下载,下载后关闭标签,那么原始标签没有下载栏。
3. 打开 chrome 下载页面(使用 Ctrl+J),然后关闭它并返回到您的主页,它没有下载栏。
可能有其他解决方案可用于此任务。
添加回答
举报