Java 下载PDF时,如何在chrome浏览器中关闭下载弹出窗口

Java 下载PDF时,如何在chrome浏览器中关闭下载弹出窗口,java,pdf,selenium-webdriver,selenium-chromedriver,Java,Pdf,Selenium Webdriver,Selenium Chromedriver,我正在使用java selenium自动化我的应用程序。我正在下载PDF并进行解析。我的应用程序中有多个使用PDF的测试用例。因此,一旦我下载了第一个PDF,chrome会在浏览器底部显示一个弹出窗口,该文件以文件名下载,因此下次我尝试下载第二个PDF时,下载按钮位于该弹出窗口下方,无法单击下载选项。 使用isDisplayed方法检查返回false和isEnabled返回true的状态。已尝试在另一个窗口中执行PDF testcase,但也不起作用。请参考图片了解POP 提前谢谢 据我所知,使

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

提前谢谢


据我所知,使用Selenium/WebDriver无法关闭Chrome上的下载面板。可能还有其他的解决方案供你考虑。例如:


1。使用操作链移动到要定位的元素
org.openqa.selenium.interactions.Actions

二,。在新选项卡中下载,然后在下载后关闭该选项卡,则原始选项卡没有下载栏。
三,。打开chrome下载页面(使用Ctrl+J),然后关闭它并返回主页,它没有下载栏


此任务可能还有其他可用的解决方案。

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

    }

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

Hi Amol,它是否可以在无头模式下工作?机器人类的按键?