Webdriver отключить расширенный защищенный режим

Я использую webdriver в IE11. И per selenium есть набор обязательных настроек для запуска в IE11, один из них - отключить "расширенный защищенный режим" в Internet Option > Advanced > Security (не то же самое, что включен защищенный режим в Internet Option > Security)

Проблема в том, что в моей групповой политике это поле отключено, то есть я не могу отключить их, не запрашивая изменения групповой политики. Мне было интересно, есть ли возможность или опция IE, которая может обойти эту проблему, например caps['ignoreProtectedModeSettings'] = True для параметра Internet Option> Security Enable Protection Mode setting

https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

1 ответ

Попробуйте использовать объект InternetExplorerOptions и установите для свойства IntroduceInstabilityByIgnoringProtectedModeSettings значение true в приложении C#, код, как показано ниже:

   private const string URL = @"https://www.bing.com/";
    private const string IE_DRIVER_PATH = @"E:\webdriver\IEDriverServer_x64_3.14.0";  // where the Selenium IE webdriver EXE is.
    static void Main(string[] args)
    {
        InternetExplorerOptions opts = new InternetExplorerOptions() { 
            IntroduceInstabilityByIgnoringProtectedModeSettings = true,
            IgnoreZoomLevel = true,
        };
        using (var driver = new InternetExplorerDriver(IE_DRIVER_PATH, opts))
        {
            driver.Navigate().GoToUrl("https://www.bing.com/");  

            //someTextbox.SendKeys("abc123");
            var element = driver.FindElementById("sb_form_q");
            var script = "document.getElementById('sb_form_q').value = 'webdriver';";

            IJavaScriptExecutor jse = (IJavaScriptExecutor)driver;
            jse.ExecuteScript(script, element);

            //element.SendKeys("webdriver");
            element.SendKeys(Keys.Enter);
        }
    }

Если ваше приложение является Java-приложением, попробуйте использовать следующий код:

DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
cap.setCapability("nativeEvents", false);
cap.setCapability("unexpectedAlertBehaviour", "accept");
cap.setCapability("ignoreProtectedModeSettings", true);
cap.setCapability("disable-popup-blocking", true);
cap.setCapability("enablePersistentHover", true);
cap.setCapability("ignoreZoomSetting", true);
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
InternetExplorerOptions options = new InternetExplorerOptions();
options.merge(cap);
WebDriver driver = new InternetExplorerDriver(options);

Код по этой ссылке.

Другие вопросы по тегам