我需要测试下载操作。我已经为FF和Chrome浏览器配置了远程网络驱动程序,可以自动下载文件,而不需要任何程序和弹出窗口。但我找不到任何有用的信息-如何允许文件自动下载的IE9。
我试过的是:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2202=0x0
这是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_RESTRICT_FILEDOWNLOAD\iexplore.exe=0x00000000
谁知道怎么解决呢?这是真的吗?
发布于 2013-02-07 17:27:50
不幸的是,我最近也遇到了这个问题。我不敢说这不是好消息。
IE8和下面,这是不同的,仅仅是因为它是一个新的窗口,您可以与之交互。
IE9,它现在是一个内置的“框架通知栏”
您可以使用PInvoke单击“保存”按钮。见本专题:
https://stackoverflow.com/a/8532222/1173729
这个答案是针对Watin的,但唯一不同的是,Watin已经封装了获取特定浏览器窗口句柄的能力。这可以简单地用您自己的方法切换,重点通常是获取IE窗口的句柄,沿着它的子元素走下去,直到单击“Save”按钮。不过,这有一个主要的缺点,就是将控件切换回Selenium --这是不可能的,Selenium只会挂起。
注意,这都是在C#中完成的。Java显然还有其他方法,比如“机器人”类:
http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html
我没有使用它们,但您可以使用该类将其指向保存按钮所在的位置。
将没有注册表项或设置,以避免此问题-这是根本不可能的。
我已经决定,既然可以设置FF & Chrome来自动下载一个文件,那么您可以在之后验证它的存在。您测试该文件是否可以下载并显示在硬盘上。
如果IE9在Chrome和火狐中都能正常工作,那么它不发生的几率有多大呢?苗条,但有可能。
底线是它是一个OS对话框,它超出了Selenium的范围。
您还可以将它与AutoIT结合起来。我的经验是,AutoIT也可以是一样的薄片。
https://stackoverflow.com/questions/14752283
复制相似问题