使用 PowerShell 访问 WebView2 中的 cookie

Posted

技术标签:

【中文标题】使用 PowerShell 访问 WebView2 中的 cookie【英文标题】:Accessing cookies in WebView2 using PowerShell 【发布时间】:2021-05-31 07:18:24 【问题描述】:

在此处使用工作示例在 PowerShell 中启动 WebView2 实例:WebView2 in PowerShell Winform GUI

我注意到它在会话之间很好地维护了 cookie,就像“正常”Edge 一样。然而,在某些情况下,手动获取和/或设置 cookie 可能很有用。我正在研究的一个特定场景是使用 WebView2 会话 cookie 创建 WebDAV 连接。

我尝试像这样创建CookieManager:

$cookieManager = [Microsoft.Web.WebView2.Core.CoreWebView2CookieManager]

但是$cookieManager 不会公开任何设置/获取 cookie 的方法。

【问题讨论】:

【参考方案1】:

您应该使用 CoreWebView2 的 CookieManager 属性来获取相应 CoreWebView2 的 cookie 管理器。它将影响共享同一用户数据文件夹的所有 CoreWebView2。

$coreWebView2Initialized = 
    # CookieManager only available after the CoreWebView2 property has been initialized. 
    $cookieManager = $webview.CoreWebView2.CookieManager;
    $cookie = $cookieManager.CreateCookie("name", "value", "example.com", "/");
    $cookieManager.AddOrUpdateCookie($cookie);


$webview.add_CoreWebView2InitializationCompleted($coreWebView2Initialized);

【讨论】:

以上是关于使用 PowerShell 访问 WebView2 中的 cookie的主要内容,如果未能解决你的问题,请参考以下文章

WebView2 控件不在工具箱中

WebView2:在 C# 中从 Javascript 代码设置对象属性

[C#][原创]webview2简单使用

如何在 Webview2 中使用透明度?

在异步任务中并行使用 WebView2

是否可以在 Activex 中使用 WebView2?