【问题标题】:Webdriver | IE9 | Setup auto-download files网络驱动程序 | IE9 |设置自动下载文件
【发布时间】:2026-01-14 00:40:01
【问题描述】:

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

我尝试过的:

  • 找到任何可能的方法来配置驱动程序本身。什么也没找到:没有功能、没有选项、没有 cmd 参数
  • 在“安全”选项卡中查找设置。我已经检查过了,发现允许 IE9 的设置已被删除。
  • 使用这样的注册表项,但没有帮助(找到它here):

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet 设置\区域\2202=0x0

还有这个:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_RESTRICT_FILEDOWNLOAD\iexplore.exe=0x00000000

谁知道怎么解决?是真的吗?

【问题讨论】:

标签: internet-explorer download selenium-webdriver


【解决方案1】:

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

IE8 及以下,这是不同的,只是因为它是一个您可以与之交互的新窗口。

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

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

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

这个答案是针对 Watin 的,但唯一的区别是 Watin 已经封装了获取特定浏览器窗口句柄的能力。这可以简单地用你自己的方法来切换,要点一般只是获取 IE 窗口的句柄,沿着它的子元素向下走,直到你点击“保存”按钮。不过,这有一个主要缺点,将控件切换回 Selenium - 它不会发生,Selenium 只会挂起。

注意,这一切都在 C# 中。 Java 显然还有其他方式,比如“机器人”类:

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

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

不会有任何注册表项或设置来避免这个问题 - 这是不可能的。

我已决定,既然 FF 和 Chrome 可以设置为自动下载文件,您可以在之后验证它是否存在。您测试该文件是否可以下载并显示在硬盘上。

如果 IE9 在 Chrome 和 Firefox 中运行良好,那么在 IE9 中不会发生的可能性有多大?苗条,但可能。

最重要的是它是一个操作系统对话框,超出了 Selenium 的范围。

您还可以将它与 AutoIT 结合使用。我的经验是 AutoIT 也可能是不稳定的。

【讨论】:

  • 谢谢,我会试试的。从未使用过机器人 - 这将是有用的经验:) thnx!实际上,我需要为所有浏览器测试 downalod 操作,因为出于任何原因,它可能并不总是能够为用户单击下载按钮或类似按钮的元素。