即使启用了ignoreProtect模式设置,也无法使用selenium启动Internet Explorer

时间:2017-12-29 09:49:26

标签: python selenium internet-explorer selenium-webdriver

示例代码:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.INTERNETEXPLORER
caps['ignoreProtectedModeSettings'] = True

browser = webdriver.Ie(capabilities=caps)
browser.get('http://www.google.com')

Internet Explorer未启动,我遇到以下错误:

SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.

我无法更改InternetExplorer中的设置。它们由管理员控制。

我只是坚持这个起点,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

要开启InternetExplorer,您需要实施以下 Configurations

  1. 在Windows Vista或Windows 7上的IE 7或更高版本中,必须将每个区域的 Protected Mode settings 设置为相同的值。只要每个区域的值相同,该值就可以 关闭。要设置保护模式设置,请选择" Internet选项..."从“工具”菜单中,单击“安全”选项卡。对于每个区域,选项卡底部都会显示一个复选框,标记为"启用保护模式"。
  2. 此外,必须为Enhanced Protected Mode停用 IE 10 and higher 。此选项位于Advanced tab对话框的Internet Options
  3. 必须将浏览器zoom level设置为 100% ,以便将原生鼠标事件设置为正确的坐标。
  4. 对于Windows 10,您还需要在显示设置中将Change the size of text, apps, and other items设置为 100%
  5. 仅对于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 subkey 可能存在也可能不存在,如果不存在,则应创建 DWORD 。重要提示:在此密钥中,创建名为 iexplore.exe IEDriverServer 值,其值为 0
  6. 现在,您必须通过 DesiredCapabilities 设置以下设置的 from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities cap = DesiredCapabilities().INTERNETEXPLORER cap['ignoreProtectedModeSettings'] = True cap['IntroduceInstabilityByIgnoringProtectedModeSettings'] = True cap['nativeEvents'] = True cap['ignoreZoomSetting'] = True cap['requireWindowFocus'] = True cap['INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS'] = True browser = webdriver.Ie(capabilities=cap, executable_path=r'C:\path\to\IEDriverServer.exe') browser.get('http://google.com/') 二进制文件:

    {{1}}