Selenium webdriver IE11 Selenium WebDriverException:未能导航。(org.openqa.selenium.WebDriverException…IWebBrowser2::Navigate2()失败
我是自动化测试的新手,虽然我的Selenium测试在Chrome和Firefox上运行,但它们并没有在IE11上运行。我做了下面详细介绍的所有检查,但我不断遇到这个错误:Selenium webdriver IE11 Selenium WebDriverException:未能导航。(org.openqa.selenium.WebDriverException…IWebBrowser2::Navigate2()失败,selenium-webdriver,internet-explorer,internet-explorer-11,selenium-iedriver,iedriverserver,Selenium Webdriver,Internet Explorer,Internet Explorer 11,Selenium Iedriver,Iedriverserver,我是自动化测试的新手,虽然我的Selenium测试在Chrome和Firefox上运行,但它们并没有在IE11上运行。我做了下面详细介绍的所有检查,但我不断遇到这个错误: org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed. 我首先进
org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed.
我首先进行了必要的配置,如中所示
)
我已尝试按照上的建议编辑我的注册表
要禁用HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE\U HTTP\U USERNAME\u PASSWORD\u,请添加一个名为iexplore.exe、值为0的新DWORD值,如所述
我还尝试介绍以下建议的代码:
但我似乎没有正确地介绍它,因为我遇到了java错误
有人用Java解决过这个问题吗?你能给我一步一步的说明吗?1)你确定你的IEdriver实例正在运行吗
2) 您使用的是IEdriver x64还是IEdriver x86
即使使用x64 windows,在大多数情况下也使用internet exlporer x86。请尝试x86驱动程序,并尝试重现这种行为,它成功了!非常感谢。问题是我有64位版本。通过将其替换为32位版本,我的代码工作正常(我在System32中有驱动程序,以绕过修改路径) 此错误消息
org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed
…表示IEDriverServer无法启动/生成新的浏览上下文,即作为COM对象的Internet Explorer浏览器会话
Internet Explorer驱动程序所需的配置 报告明确提到:
- 必须下载
Executable并将其放置在您的路径中IEDriverServer
- 在Windows Vista或Windows 7上的IE 7或更高版本上,必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个分区的值相同。要设置受保护模式设置,请从“工具”菜单中选择“Internet选项…”,然后单击“安全”选项卡。对于每个区域,标签底部将有一个复选框,标记为“启用保护模式”
- 此外,IE 10及更高版本必须禁用增强保护模式。此选项位于Internet选项对话框的
选项卡中Advanced
- 浏览器缩放级别必须设置为
,以便将本机鼠标事件设置为正确的坐标100%
- 对于Windows 10,您还需要在显示设置中将文本、应用程序和其他项目的大小设置为
100%
- 仅对于IE 11,您需要在目标计算机上设置一个注册表项,以便驱动程序能够保持与它创建的Internet Explorer实例的连接
- 对于32位Windows安装,您必须在注册表编辑器中检查的项是
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\BFCACHE
- 对于64位Windows安装,密钥是
HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\BFCACHE
- 请注意,
子项可能存在也可能不存在,如果不存在,则应创建该子项。在此键内,创建一个名为FEATURE\u BFCACHE
的iexplore.exe
值,其值为0`DWORD
解决方案 首先,您需要确保每个区域的保护模式设置为相同的值。此外,您还需要确保Internet Explorer驱动程序的必要配置
工具书类 您可以在以下内容中找到一些相关讨论:
System.setProperty(webdriver.ie.driver", "C://Windows/System32/IEDriverServer.exe");
driver = new InternetExplorerDriver();
baseUrl = "http://mysite";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed