下载PDF时如何关闭Chrome浏览器中的下载弹出窗口

我正在使用 java selenium 来自动化我的应用程序。我正在下载 PDF 和解析。我的应用程序中有多个带有 PDF 的测试用例。因此,一旦我下载第一个 PDF,chrome 会在浏览器底部显示一个弹出窗口,该文件以文件名下载,因此下次当我尝试下载第二个 PDF 时,下载按钮位于此弹出窗口下方,无法单击下载选项。使用 isDisplayed 方法检查返回 false 和 isEnabled 返回 true 的状态。尝试在另一个窗口中执行 PDF 测试用例它也不起作用。请参阅 POP 图像。

http://img.mukewang.com/6131b84600013cdc13540228.jpg


慕仙森
浏览 692回答 3
3回答

侃侃无极

谢谢你找到了解决方案。我正在使用 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);    }

HUX布斯

另一种选择是使用可以控制 UI 对象的工具。其中之一是免费软件,是 Auto-It。它可以识别浏览器的下载\上传窗口,对其进行控制和关闭。您可以编写脚本、构建它 - 并从您的 Java 代码中 - 在下载\上传窗口打开时调用它。

Helenr

据我所知,无法使用 Selenium/WebDriver 在 Chrome 上关闭下载面板。可能还有其他一些解决方案供您考虑。例如:1. 使用动作链移动到要定位的元素org.openqa.selenium.interactions.Actions2. 在新标签中下载,下载后关闭标签,那么原始标签没有下载栏。3. 打开 chrome 下载页面(使用 Ctrl+J),然后关闭它并返回到您的主页,它没有下载栏。可能有其他解决方案可用于此任务。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java