Как запустить браузер Edge в режиме инкогнито с помощью удаленного веб-драйвера selenium?
В настоящее время мы работаем над селеном (2.53.0) в браузере Edge с использованием C#. Браузер Edge хранит информацию о кеше в папке localAppdata из-за кеша, мы сталкиваемся с некоторыми проблемами при выполнении тестовых случаев.
Я пытаюсь удалить всю информацию о файлах cookie, используя селен (DeleteAllCookies), но он не работает в браузере Edge.
Я прочитал пару форумов Microsoft, единственный способ пропустить кеш, когда мы запускаем Edge browser в режиме инкогнито.
Кто-нибудь может подсказать, как запустить экземпляр браузера Edge в приватном режиме (режим инкогнито), используя selenium remote-webdriver
4 ответа
Если вы хотите открыть Edge в режиме Private (Incognito), вы можете использовать этот код C#:
EdgeOptions options = new EdgeOptions();
options.AddAdditionalCapability("InPrivate", true);
this.edgeDriver = new EdgeDriver(options);
Вот пример того, что я использую при настройке
EdgeDriver
пример. (C#)
private IWebDriver SetupEdgeWebDriver(bool runHeadlessOnPipeline, int implicitWait = 12500)
{
IWebDriver webDriverInstance;
EdgeOptions edgeOptions = new EdgeOptions
{
//Microsoft Edge (Chromium)
UseChromium = true
};
if (EnableIncognito)
{
edgeOptions.AddArgument("inprivate");
}
edgeOptions.BinaryLocation = "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe";
//azure devops pipeline
if (PipelineRun)
{
edgeOptions.AddArgument("disable-gpu");
edgeOptions.AddArgument("window-size=1920,960");
if (runHeadlessOnPipeline)
{
edgeOptions.AddArgument("headless");
}
}
//running on your local machine
else
{
edgeOptions.AddArgument("start-maximized");
}
edgeOptions.SetLoggingPreference(LogType.Driver, LogLevel.Debug);
webDriverInstance = new EdgeDriver(edgeOptions);
webDriverInstance.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(implicitWait);
return webDriverInstance;
}
Это код, который я использую с Selenium.WebDriver 4.0.0 и C# dotnet 5.0.
EdgeOptions options = new();
options.AddArguments("InPrivate");
driver = new EdgeDriver(options);
Вот способ получить личное окно с Edge и Selenium:
var driver = new EdgeDriver();
driver.Navigate().GoToUrl("about:InPrivate");
driver.Navigate().GoToUrl("https://www.google.com");