单击后硒无法继续?

时间:2019-07-11 06:39:10

标签: python selenium internet-explorer selenium-webdriver

我正在使用Internet Explorer来自动化网站流程。该网站只能在Internet Explorer中运行,而我不能使用任何其他浏览器。

使用的技术:Python3, Selenium, InternetExplorer

该代码非常适合chromedriver。但是,对于InternetExplorer,在单击第一页后,没有任何效果,并且后续步骤开始崩溃。

我尝试通过按F12打开开发人员控制台来调试错误。 令人惊讶的是,一切都开始正常运行,并且出现了一些小故障。

有人可以向我解释如何解决此问题。是否需要更改一些首选项,以便我无需开发者控制台即可访问该功能。

我遇到以下错误:

NoSuchWindowException: Currently focused window has been closed

或者,我尝试使用document.findElementByID().click()通过javascript执行点击,但在某些情况下并非全部可用。

1 个答案:

答案 0 :(得分:0)

当您尝试与硒元素互动时,您会得到:

  

线程“ main” org.openqa.selenium.NoSuchWindowException中的异常:   当前聚焦的窗口已关闭。

确保已更改保护模式(请参见上文:https://github.com/seleniumQuery/seleniumQuery/wiki/seleniumQuery-and-IE-Driver#change-the-protected-mode-in-all-zones)。

同样,您是否执行了Required Configuration的所有步骤?

如果您有疑问,请最后一点:

  

仅对于IE 11,您需要在目标上设置一个注册表项   计算机,以便驱动程序可以维持与实例的连接   它创建的Internet Explorer。对于32位Windows安装,   您必须在注册表编辑器中检查的密钥是   HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet   Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE。对于64位Windows   装置,关键是   HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet   Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE。请注意   FEATURE_BFCACHE子项可能存在或可能不存在,应为   如果不存在则创建。重要提示:在此注册表项中,创建一个   DWORD值,名为iexplore.exe,值为0。

与执行带有此内容的.reg文件相同(例如,上面Windows 64位的示例):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE]
"iexplore.exe"=dword:00000000

参考:

NoSuchWindowException: Currently focused window has been closed.