一尘不染

本地系统帐户的IE保护模式

selenium

我有一个Windows服务,该服务在Windows 7 OS上运行Team City Build代理。

该代理触发使用Selenium IE Web驱动程序执行一系列测试的NUnit测试。

为了使Selenium IE Web驱动程序正常工作,需要将所有区域的保护模式设置为相同的值(打开或关闭保护模式)。

问题是本地系统帐户的默认设置无效(某些区域在保护模式下运行,其他区域则不在)。

谁能告诉我如何为所有用户或本地系统帐户用户更改保护模式设置?


阅读 220

收藏
2020-06-26

共1个答案

一尘不染

这是解决方案(为了达到目的,我已经遍及互联网的每个角落):

启动RegEdit并转到此键:

HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones

在我的机器上(Windows 7),本地系统帐户为S-1-5-18。这对于所有版本的Windows可能都是相同的,但我对此一无所知。

在该注册表项中,还有五个,1、2、3、4和5键-每个键代表一个区域。

对于每个区域,如果有一个名称为“ 2500”的DWORD值,请将其值设置为0以关闭保护模式。请注意,如果不存在,则不必添加它。

值“ 2500”应该控制复选框“启用保护模式”。

UPDATE(来自匿名用户):

以图形方式进行此操作的方法是确保“交互服务检测”服务(UI0Detect)正在运行(请注意,Windows
8/2012及更高版本需要HKLM\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices正确设置注册表项才能显示弹出窗口)psexec并运行

psexec -si 0 "C:\Program Files\Internet Explorer\iexplore.exe"

在弹出窗口中,单击查看消息,然后在Internet Explorer中切换屏幕后,转到工具-> Internet选项| 安全性并检查每个区域的安全性级别。

UI测试愉快!

2020-06-26