【问题标题】:How do I close the download pop in chrome browser when downloading PDF下载PDF时如何关闭chrome浏览器中的下载弹出窗口
【发布时间】:2018-11-12 13:35:48
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: java pdf selenium-webdriver selenium-chromedriver


    【解决方案1】:

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

    【讨论】:

    • 嗨,Amol,它可以在无头模式下工作吗?机器人类的 keyPress?
    【解决方案2】:

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


    1.使用动作链移动到要定位的元素org.openqa.selenium.interactions.Actions
    2。在新标签中下载,然后在下载后关闭标签,然后原始标签没有下载栏。
    3。打开 chrome 下载页面(使用 Ctrl+J),然后关闭它并返回您的主页,它没有下载栏。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-24
        • 2010-12-25
        • 2010-10-14
        • 2011-05-03
        • 1970-01-01
        • 2011-01-06
        相关资源
        最近更新 更多