无法从 Selenium 启动 IE - 所有区域的保护模式设置都不相同

Unable to Launch IE from Selenium - Protected Mode settings are not the same for all zones

我正在尝试使用以下代码启动 IE:

driver = webdriver.Ie("IEDriverServer.exe")
driver.get("https://www.google.com")

这之前工作正常,但我尝试更改 Internet 选项中的安全级别,然后出现以下错误:

selenium.common.exceptions.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.

我看到很多人提到这个问题,并说可以通过使用安全选项卡中的默认级别来解决这个问题。我试过这个但我仍然遇到同样的问题。还尝试重置 IE 设置:

您应该转到每个区域屏幕(互联网、本地互联网、可信站点、受限站点)并为每个 设置相同的 级别。例如 "Medium".

当您单击 "Reset all zones to default" 时,这会使一些区域中等,一些高,因此它们不再相同。正如错误消息所暗示的那样,Selenium 要求它们相同。

更新: 如果其中一个区域的滑动条被禁用了,你可以尝试运行 IE 以管理员身份,看看它是否被启用.

如果这不起作用,请将所有其他区域设置为与您无法更改的区域相同的值。

我无法通过手动更改设置来解决问题(其中一些对我来说是禁用的,包括复选框),但下面的 VBA 代码帮了我的忙。

Const HKEY_CURRENT_USER = &H80000001
strComputer = "."

Set ScriptMe=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & _
    strComputer & "\root\default:StdRegProv")

'Disable protected mode for local intranet'
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\"
strValueName = "2500"
dwValue = 0
ScriptMe.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue

'Disable protected mode for trusted pages'
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\"
strValueName = "2500"
dwValue = 0
ScriptMe.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue

'Disable protected mode for internet'
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\"
strValueName = "2500"
dwValue = 0
ScriptMe.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue

'Disable protected mode for restricted sites'
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\"
strValueName = "2500"
dwValue = 0
ScriptMe.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue

msgbox "Protected Mode Settings are updated"

只需将此代码复制到记事本中并以 .vbs 扩展名保存并双击即可!