在Webview2中设置UserAgent



我正在创建一个以Webview2为浏览器的桌面应用程序。我必须更改用户代理才能从网站获取数据。我的控件名称是浏览器控件的Webview21。我收到错误消息System.NotImplementedException:"无法转换为Microsoft.Web.WebView2.Core.Raw.CoreWebView2Settings2。"。如果您使用的接口不受WebView2 Runtime版本的支持,则可能会发生这种情况。但我有最新的常青树版本。解决方案是什么?

Public Async Sub InitializeBrowser()
Dim strip As String = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.62 seakayak-navigator"
Dim opts As New CoreWebView2EnvironmentOptions With {.AdditionalBrowserArguments = "--disable-web-security --allow-file-access-from-files --allow-file-access "}


Dim userDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "SeakayakNavigator"
Dim env = Await CoreWebView2Environment.CreateAsync(Nothing, userDataFolder)
Await WebView21.EnsureCoreWebView2Async(env)
Application.DoEvents()
WebView21.Width = Fmenu.Width
WebView21.Height = Fmenu.Height
WebView21.Top = 0
WebView21.Left = 0
WebView21.BringToFront()
WebView21.CoreWebView2.Settings.UserAgent = strip
' Add any initialization after the InitializeComponent() call.

AddHandler WebView21.NavigationCompleted, AddressOf webview21_navigationCompleted
WebView21.CoreWebView2.AddHostObjectToScript("Bridge", New Bridge())


End Sub

CoreWebView2.Settings.UserAgent在当前稳定版本(版本1.0.818.41(中不受支持。如果要使用CoreWebView2.Settings.UserAgent,必须安装预发布版本,当前版本为1.0.865-重新发布。

您可以按照这里的说明进行操作:安装预发布版本

这也意味着您必须使用Microsoft EdgeCANARY版本你可以在这里得到:微软边缘内幕频道

不幸的是,您可能不得不卸载"WebView2运行时"(我认为这是WebView2软件包中的一个错误(。

更新:

现在最新的稳定版本支持设置useragent

最新更新