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);
Код по этой ссылке.