Selenium:启动 IE 时出现意外错误。浏览器缩放级别设置为 122%。应该设置为 100%
Posted
技术标签:
【中文标题】Selenium:启动 IE 时出现意外错误。浏览器缩放级别设置为 122%。应该设置为 100%【英文标题】:Selenium: Unexpected error launching IE. Browser zoom level was set to 122%. It should be set to 100% 【发布时间】:2017-01-26 14:34:32 【问题描述】:我正在尝试使用以下代码在本地计算机上启动 IE11 浏览器。
trySystem.setProperty("webdriver.ie.driver", "src/main/resources/bin/IEDriverServer.exe");
catch (Exception ex)
Reporter.log("\nException in getting and setting the webdriver IE driver: "+ ex.getMessage() + ex.getClass(),true);
ex.printStackTrace();
WebDriverManager.browser = browser;
driver = new EventFiringWebDriver(new InternetExplorerDriver());
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
当我运行代码时,它会以http://localhost:22414/ 显示浏览器,但之后无法加载。附上下面的日志。
org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Browser zoom level was set to 125%. It should be set to 100% (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.16 seconds
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
System info: host: 'AAAAAA', ip: '123.123.123.123', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_79'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
我手动尝试将浏览器缩放级别设置为 100%。即使这样,错误也会出现。
【问题讨论】:
【参考方案1】:DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("ignoreZoomSetting", true);
aDriver = new InternetExplorerDriver(caps);
解决了这个问题。
【讨论】:
为我工作。谢谢。【参考方案2】:这对我来说很好用。英格尔那个缩放级别。
private static InternetExplorerOptions IeSettings()
var options = new InternetExplorerOptions();
options.IgnoreZoomLevel = true;
return options;
public static IWebDriver ieDriver = new InternetExplorerDriver(IeSettings());
【讨论】:
【参考方案3】:DesiredCapabilities 已被弃用。现在执行此操作的官方方法是使用 InternetExplorerOptions。添加这两行时,请确保在实例化驱动程序时将其作为参数传递。
InternetExplorerOptions capabilities = new InternetExplorerOptions();
capabilities.ignoreZoomSettings();
driver = new InternetExplorerDriver(capabilities);
【讨论】:
【参考方案4】:它可能会解决您的问题,但从长远来看,这可能会给您带来麻烦。否则,您可能会遇到无法正确识别坐标的本机鼠标事件。
解决此问题的最佳方法是实际转到 IE 浏览器并通过转到设置 -> 缩放将缩放级别设置为默认值 100%。
如果你在做,还要确保:
在 IE 7 或更高版本的 Windows Vista 或 Windows 7 上,您必须设置 每个区域的保护模式设置为相同的值。价值 可以打开或关闭,只要每个区域都相同。设置 在保护模式设置中,选择“Internet 选项...” 工具菜单,然后单击安全选项卡。对于每个区域,将有 是标签底部标记为“启用受保护”的复选框 模式”。 此外,必须为 IE 10 禁用“增强保护模式” 和更高。此选项位于 Internet 的“高级”选项卡中 选项对话框。浏览器缩放级别必须设置为 100%,以便 可以将本机鼠标事件设置为正确的坐标。 仅对于 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
。
您可以在 IE 驱动程序github project page 上找到更多详细信息。
【讨论】:
【参考方案5】:System.setProperty("webdriver.ie.driver",".\\browserDrivers\\IEDriverServer.exe");
DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
capability.setCapability("ignoreZoomSetting", true);
capability.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "");
driver = new InternetExplorerDriver(capability);
【讨论】:
以上是关于Selenium:启动 IE 时出现意外错误。浏览器缩放级别设置为 122%。应该设置为 100%的主要内容,如果未能解决你的问题,请参考以下文章
启动路由器时出现意外错误:错误:缺少必需的参数“catchAll”
尝试启动 Firefox 时出现 Python selenium 错误