1

IEDriverServer Wiki 页面列出了以下要求:

在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。

不幸的是,在我工作的地方,公司安全策略已锁定保护模式设置,因此我无法更改设置。

有没有办法解决这个问题并让 IEDriverServer 正常工作?或者 Selenium 不是在 Windows 7 上运行 IE 7+ 的企业环境的选项,在这种环境中用户无法更改保护模式设置?

谢谢,戴夫

4

3 回答 3

1

我有同样的问题。

我通过直接编辑注册表来解决它。

尽管以下是 Java 的示例,但它也可以类似地用于其他语言。我在创建 IEDriver 实例之前调用此方法。

如果要禁用它,请设置 3 而不是 0。

private void enableIEProtectModeOfAllZones() {

    final String[] ZONES = {
        "\"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\""
        , "\"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\""
        , "\"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\""
        , "\"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\4\""
    };
    for (String zone : ZONES) {
        ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "reg", "add",
                zone, "/v", "2500", "/t", "REG_DWORD", "/d", "0", "/f");
        try {
            pb.start();
        } catch (IOException ioe) { ioe.printStackTrace(); }
    }
}
于 2012-07-10T08:23:40.053 回答
0

您需要使用参数创建 IE Driver 实例,我假设您使用的是 C#

InternetExplorerOptions opts = new InternetExplorerOptions();
opts.IntroduceInstabilityByIgnoringProtectedModeSettings = true;

IWebDriver wDriver =  new InternetExplorerDriver(opts);

这将解决你的问题

于 2013-01-24T07:04:15.113 回答
0

据我了解,您正在使用 Selenium Webdriver。请添加以下内容:)capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true到您的驱动程序设置。

于 2012-07-10T13:03:18.567 回答