【问题标题】:How to handle windows download popup for IE11 using Selenium Webdriver without using AutoIT如何在不使用 AutoIT 的情况下使用 Selenium Webdriver 处理 IE11 的 Windows 下载弹出窗口
【发布时间】:2015-10-02 17:44:21
【问题描述】:

在 IE11 上进行测试时,当我单击链接下载文档时,会打开一个新的空白窗口,并弹出保存和取消选项。我想点击取消,切换回我当前的窗口并继续验证。 谁能帮助我如何在不使用 AutoIT 的情况下处理这个问题。

【问题讨论】:

    标签: selenium selenium-webdriver internet-explorer-11


    【解决方案1】:

    如果您在 Java 中使用 selenium-webdriver,那么您可以使用 Sikuli-api

    简单介绍一下:Sikuli 是一种工具,可帮助实现任何软件(网络/独立)的自动化任务。 Sikuli 的基础是您想要与之交互的控件的屏幕截图。

    在您的情况下,只需 2 个按钮。因此,我不建议您使用单独的 autoIT 生成的 *.exe 文件。 只需截取 OK 和 Cancel 按钮即可。

    在这里向您展示示例代码:

        import org.sikuli.script.*;
        public class Test {
        
        Screen m_screen;
        SikuliScript m_sikscr;
        @Test
        public void Test1() throws FindFailed
        {
            m_screen=new Screen();
            m_screen.wait((double) 10.0);
            //Click on Cancel button
             m_screen.click(new Pattern("./img/CancelButton.png"));
        }
       } 
    

    这应该可以完成你的任务。

    请注意,如果您决定使用此方法,请确保您处理了 java 项目中所有与 Sikuli 相关的依赖项。

    【讨论】:

    • 感谢您的代码。有没有其他方法可以在不使用 3rd 方工具的情况下处理这个问题?
    • 我不这么认为...因为您正在控制的按钮是本机操作系统按钮,selenium 无法对其进行任何控制..
    【解决方案2】:

    首先手动尝试是否通过按退出键来关闭弹出窗口。

    如果是这样,请按照以下代码,

    Robot r = null;
    try {
        r = new Robot();
    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    r.keyPress(KeyEvent.VK_ESCAPE);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-16
      • 2016-07-21
      • 2017-01-02
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      • 2012-07-16
      相关资源
      最近更新 更多