繁体   English   中英

使用Selenium打开IE时出现UnexpectedJavaScriptError

[英]UnexpectedJavaScriptError when opening IE using selenium

An exception of type 'System.InvalidOperationException' occurred in WebDriver.dll 
but was not handled in user code
Additional information: JavaScript error (UnexpectedJavaScriptError)

我正在尝试使用IE浏览URL。 我仅对于Internet Explorer会收到此错误。 对于chrome和firefox,效果很好。

使用IE 11,IEDriverServer_Win32_2.47.0,Windows 7 64位

C#:

[TestMethod]
public void GeneratePageSnaps()
{
 IWebDriver NewDriver;
 NewDriver = new InternetExplorerDriver("D:\IeDriver");
 NewDriver.Navigate().GoToUrl("http://www.google.com");
 NewDriver.Manage().Window.Maximize();
 IWait<IWebDriver> wait = new WebDriverWait(NewDriver, TimeSpan.FromSeconds(10.00));
 wait.Until(driver1 => ((IJavaScriptExecutor)NewDriver).ExecuteScript(
                        "return document.readyState").Equals("complete")); //error here
}

您必须先阅读该文档,然后才能使用它:

InternetExplorerDriver是实现WebDriver的有线协议的独立服务器。 此驱动程序已经在XP,Vista和Windows 7的适当组合上使用IE 6、7、8、9和10进行了测试。

该驱动程序支持运行32位和64位版本的浏览器。 如何确定在启动浏览器时使用哪个“位”的选择取决于启动IEDriverServer.exe的版本。 如果启动了32位版本的IEDriverServer.exe,则将启动32位版本的IE 同样, 如果启动了64位版本的IEDriverServer.exe,则将启动64位版本的IE。

阅读更多 ...

这是给你的:

仅对于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子项可能存在也可能不存在,如果不存在则应创建。 重要说明:在此注册表项内,创建一个名为iexplore.exe的DWORD值,其值为0。

尝试重置您的IE浏览器设置。
它对我有用,只是去

设置> Internet选项>高级>重置

只需重置并重新启动系统即可。 注意:

为了使Selenium Web驱动程序能够与IE一起使用,还需要完成以下操作:Internet选项>安全性,为所有4个选项选择“启用保护模式”,然后应用这些更改,然后重新启动系统。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM