3

目前我们正在使用 C# 使用 Edge 浏览器开发 selenium (2.53.0)。由于缓存,Edge 浏览器将缓存信息存储在“localAppdata”文件夹中,我们在执行测试用例时遇到了一些问题。

我尝试使用 selenium (DeleteAllCookies) 删除所有 cookie 信息,但它不适用于 Edge 浏览器。

当我们在隐身模式下启动 Edge 浏览器时,我阅读了几个微软论坛的唯一方法来跳过缓存。

任何人都可以建议如何使用 selenium remote-webdriver 以私有(隐身模式)启动 Edge 浏览器实例

4

2 回答 2

3

如果你想在私有(隐身)模式下打开 Edge,你可以使用这个 C# 代码:

EdgeOptions options = new EdgeOptions();
options.AddAdditionalCapability("InPrivate", true);
this.edgeDriver = new EdgeDriver(options);
于 2018-12-27T20:38:41.413 回答
1

这是我在设置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;
}
于 2021-05-11T11:27:03.680 回答