使用selenium打开IE时出现UnexpectedJavaScriptError

时间:2015-08-18 11:15:02

标签: c# selenium

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

我正在尝试使用IE浏览网址。 我只为Internet Explorer获得此错误。对于铬和&火狐它工作正常。

使用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
}

2 个答案:

答案 0 :(得分:2)

您必须在使用前阅读该文档:

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

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

Read More ...

这个适合你:

仅对于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的值为0的DWORD值。

答案 1 :(得分:-1)

尝试重置您的IE浏览器设置。
它对我有用,只需转到

  

设置&gt;互联网选项&gt;高级&gt;重置

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

对于使用IE的Selenium Web驱动程序,还需要执行以下操作:  互联网选项&gt;安全,选择&#34;启用保护模式&#34;对于所有4个选项,然后应用这些更改,然后重新启动系统..只有它可以工作。