【问题标题】:Clear Cookies for my WebView2 Instance in C#在 C# 中清除我的 WebView2 实例的 Cookie
【发布时间】:2023-02-10 08:57:49
【问题描述】:

我有一个小应用程序可以登录网站并执行一些操作。我需要一种方法来清除 cookie 并基本上“强制”注销网站,以便我可以再次执行这些操作。最简单的方法是清除 cookie,然后重复登录过程,但我一直无法弄清楚如何操作。我从 Microsoft 找到了这个资源,但找不到任何示例代码

https://learn.microsoft.com/en-us/dotnet/api/microsoft.web.webview2.core.corewebview2cookiemanager.deleteallcookies?view=webview2-dotnet-1.0.1462.37

我相信 WebView2 和 Edge 密切相关,并且还想通过这样做来确保如果他们使用 Edge,我不会最终清除他们主浏览器上的 cookie

非常感谢任何帮助

【问题讨论】:

    标签: c# cookies webview webview2


    【解决方案1】:

    如果您有 WebView2 类,您可以执行以下操作来清除 cookie 并重新加载页面:

    // Clear cookies for this WebView2 and all WebView2s
    // sharing the same user data folder.
    webview2.CoreWebView2.CookieManager.DeleteAllCookies();
    // Reload the document after clearing cookies
    webview2.CoreWebView2.Reload();
    

    上面的代码必须在 WebView2 完成初始化其 CoreWebView2 之后运行。

    当您创建 CoreWebView2 时,它属于用户数据文件夹和浏览器进程。通过 CookieManager 更改 cookie 适用于共享相同配置文件和该用户数据文件夹的所有 CoreWebView2。

    您不能在 WebView2 和浏览器之间共享状态,因此您不会在浏览器中修改 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      相关资源
      最近更新 更多