Selenium IEDriverServer не может настроить защищенный режим из-за политики безопасности

На странице Wiki IEDriverServer в качестве требования указано следующее:

В IE 7 или более поздних версиях в Windows Vista или Windows 7 необходимо установить одинаковые значения параметров защищенного режима для каждой зоны. Значение может быть включено или выключено, если оно одинаково для каждой зоны.

К сожалению, там, где я работаю, в корпоративной политике безопасности параметр защищенного режима заблокирован, поэтому я не могу вносить изменения в этот параметр.

Есть ли способ обойти эту проблему и заставить IEDriverServer работать? Или Selenium просто не подходит для корпоративных сред, в которых работает IE 7+ в Windows 7, где пользователям запрещено изменять настройки защищенного режима?

Спасибо, Дэйв


comment
На какой версии селена вы работаете?   -  person Scott    schedule 09.07.2012
comment
я также сталкиваюсь с той же проблемой в корпоративных средах :(   -  person TechDog    schedule 04.08.2015


Ответы (3)


У меня была такая же проблема.

Я решил это прямым редактированием в реестр.

Хотя ниже приводится пример 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(); }
    }
}
person Msyk    schedule 10.07.2012
comment
Просто для всех, кто сюда попадает. Не забудьте перезагрузиться после внесения изменений в реестр. - person Peter Bernier; 14.05.2015

Насколько я понимаю, вы используете Selenium Webdriver. Пожалуйста, добавьте следующее: capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true) к настройке вашего драйвера.

person Lucky    schedule 10.07.2012
comment
У меня это не сработало с 2.24.1, однако у меня это работало раньше. - person Scott; 10.07.2012

Вам нужно создать экземпляр драйвера IE с параметрами, я предполагаю, что вы используете C #

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

IWebDriver wDriver =  new InternetExplorerDriver(opts);

Это решит вашу проблему

person Tim    schedule 24.01.2013