我需要测试下载操作。我已经为FF和Chrome浏览器配置了远程Web驱动程序,以自动下载文件,而没有任何提示和弹出窗口。但是我找不到任何有用的信息-如何允许IE9自动下载文件。

我尝试过的

  • 查找配置驱动程序本身的任何可能方法。一无所获:无功能,无选项,无cmd参数
  • 在“安全性”选项卡中找到设置。我已经检查了它,发现针对IE9删除了允许该设置的设置。
  • 使用此类注册表项,但没有帮助(找到here):



  • 和这个:



    谁知道如何解决?这是真的吗?

    最佳答案

    不幸的是,我最近也遇到了这个问题。恐怕这不是好消息。

    IE8和更低版本,这是不同的,仅仅是因为它是您可以与之交互的新窗口。

    IE9,现在是内置的“框架通知栏”

    您可以使用PInvoke单击“保存”按钮。请参阅此主题:

    https://stackoverflow.com/a/8532222/1173729

    这个答案是针对Watin的,但是唯一的不同是Watin已经封装了获取特定浏览器窗口的句柄的功能。这可以简单地用您自己的方法进行切换,重点通常只是获取IE窗口的句柄,沿着其子元素向下移动,直到您点击“保存”按钮。但是,这有一个主要缺点,那就是将控件切换回Selenium-不会发生,Selenium只会挂起。

    注意,所有这些都在C#中。 Java显然还有其他方式,例如'Robot'类:

    http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html

    我没有使用过它们,但是您可以使用该类将其定向到“保存”按钮所在的位置。

    没有注册表项或设置可以避免此问题-根本不可能。

    我已决定,由于可以将FF&Chrome设置为自动下载文件,因此您可以在以后验证它的存在。您测试该文件可以下载,并显示在硬盘驱动器上。

    如果IE9在Chrome和Firefox中可以正常运行,那么在IE9中不会发生什么机会? slim ,但可能。

    最重要的是它是一个OS对话框,超出了Selenium的范围。

    您也可以将其与AutoIT结合使用。我的经验是,AutoIT也可能会出现问题。

    关于internet-explorer - Webdriver | IE9 |设置自动下载文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14752283/

    10-10 17:55
    查看更多