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 错误

启动 Intel python3.7 shell 时出现意外错误:无法执行任何命令 - 中止错误

Selenium:启动服务器时出现无效的“已经运行”错误

尝试在终端中启动反应应用程序时出现意外令牌 (9:13) 错误