IE11不支持Selenium 2.0 的解决办法
来源:互联网 发布:mac ntfs 移动硬盘 编辑:程序博客网 时间:2024/06/05 10:53
转载
问题概述(Question)
IE11不支持Selenium 2.0,在什么情况下不支持呢?比如:获取通过WebDriver获取页面上的元素时,你经常会捕获到这样的异常:
OpenQA.Selenium.NoSuchWindowException: Unable to find element on closed window
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1139
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 923
at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 954
at SharePoint_Automation.mainForm.waitUntilPageLoaded(IWebDriver iw, String eleID) in C:\Users\Administrator\documents\visual studio 2015\Projects\SharePoint Automation\SharePoint Automation\Form1.cs:line 116
上面这段异常的重点在于:
OpenQA.Selenium.NoSuchWindowException: Unable to find element on closed window
解决方案(Solution)
解决方案如下(蓝色字体为针对64bit计算机的最终解决手段):
For IE 11 only, you will need to set a registry entry on the target computer so that the driver can maintain a connection to the instance of Internet Explorer it creates.
For 32-bit Windows installations, the key you must examine in the registry editor is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. (32bit Windows看这里。)
For 64-bit Windows installations, the key is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. Please note that the FEATURE_BFCACHE subkey may or may not be present, and should be created if it is not present. Important: Inside this key, create a DWORD value named iexplore.exe with the value of 0.(64bit Windows看这里。)
修改你的注册表(Run->regedit->Enter),路径如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
如果FeatureControl下没有FEATURE_BFCACHE,就以FEATURE_BFCACHE为名new一个key!并在其下创建一个DWORD,取名为:iexplore.exe,value为0。
修改完你的注册表后,重启你的计算机。#之后以管理员权限运行Visual Studio#(unnecessary),打开你的项目,运行,你会发现,问题解决了。
Congratulations!这几个小时没有白费,终于让我找到了解决方案!网上千奇百怪的说法很多,但是没有一个好使的!
感谢以下两篇文章:
Selenium - NoSuchWindowException in IE 11
InternetExplorerDriver
- IE11不支持Selenium 2.0 的解决办法
- IE11不支持Selenium 2.0的解决方法
- IE11不支持Selenium 2.0的解决方法
- IE11不支持document.attachEvent属性 解决办法
- 安装ie11慢的解决办法
- 【078】docute.js的v3.4.8版本在IE11下出现【对象不支持“from”属性或方法】错误的解决办法
- IE11 不支持 document.selection
- 解决loadrunner12不能破解、loadrunner11不支持IE11录制的问题
- threadprivate 不支持的解决办法
- IE11打开调试工具崩溃的解决办法
- selenium+webdriver:不支持导出iframe的处理
- IE11不支持HTML5中的template
- IIS不支持ASP的解决办法
- IIS不支持ASP的解决办法
- 服务器不支持FLV的解决办法
- 浏览器不支持java的解决办法
- 服务不支持 chkconfig 的解决办法
- 浏览器不支持getElementsByClassName的解决办法
- 部署到Linux报错 Unsupported major.minor version 52.0
- 【Windows】数字签名
- HTML5混合开发工程师行业前景分析
- 数据结构与算法 :提到的几种排序
- python webdriver调用JS操作日期控件
- IE11不支持Selenium 2.0 的解决办法
- iOS10相关权限的设置
- 浅入浅出 Android 安全:第五章 Android 应用层安全
- 1065. A+B and C (64bit) (20)
- 使用 ndk-stack 寻找Android程序Crash的原因
- C# 第17章
- noip2016
- MySQL连接出现服务器时区设置错误
- JQ实现三级联动(省市区)地址选项