【发布时间】:2021-12-28 05:04:10
【问题描述】:
我需要使用 selenium webdriver 从 IE11 中的 Web 应用程序下载 PDF 文件的解决方案。请找到我正在尝试处理的以下弹出窗口。
以下是我尝试处理 IE 弹出窗口的方法,但不幸的是没有任何帮助。
-
我尝试使用 AutoIT 使用下面的 AutoIT 脚本来处理这种情况。
睡眠(5000)
本地 $hIE = WinGetHandle("[Class:IEFrame]")
本地 $hCtrl = ControlGetHandle($hIE, "", "[ClassNN:DirectUIHWND1]")
如果 WinExists($hIE,"") 那么
WinActivate($hIE,"")
ControlSend($hIE ,"",$hCtrl,"{F6}")
睡眠(500)
ControlSend($hIE ,"",$hCtrl,"{TAB}")
睡眠(500)
ControlSend($hIE ,"",$hCtrl,"{enter}")
如果结束
睡眠(25000)
虽然上述 AutoIT 脚本有效,但在执行 AutoIT 脚本后,webdriver 脚本挂起。使用上述 AutoIT 脚本处理弹出窗口后,即使是常见的 system.out.println 语句也不会执行。
我尝试使用 Robot 类处理此弹出窗口,但运气不好,这似乎也不起作用。
-
我尝试通过以下路径进行一些注册表设置来禁用此 IE 弹出窗口, HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\
完成某些注册表设置后,此弹出窗口已成功禁用 .xlsx 或 .RDP 文件,而不是 .PDF 文件。但在我的情况下,我有一个测试用例,我需要下载一个 .pdf 文件并继续执行进一步的 webdriver 脚本。
各位,我们将不胜感激任何其他解决方法的建议。
谢谢你, Sudheendran P L
【问题讨论】:
-
stackoverflow.com/questions/48240146/…这个方法可以用,不需要AutoIt之类的工具
标签: selenium-webdriver popup internet-explorer-11 autoit