Как запустить браузер 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");
Другие вопросы по тегам