VB.Net Webview2 如何获取 html 源代码?
VB.Net Webview2 How can I get html source code?
我在我的 VB.net(Visual Studio 2017)项目中成功地在 WebView2 上显示了一个网站,但无法获取 html 源代码。请告诉我如何获得 html 代码。
我的代码:
Private Sub testbtn_Click(sender As Object, e As EventArgs) Handles testbtn.Click
WebView2.CoreWebView2.Navigate("https://www.microsoft.com/")
End Sub
Private Sub WebView2_NavigationCompleted(sender As Object, e As CoreWebView2NavigationCompletedEventArgs) Handles WebView2.NavigationCompleted
Dim html As String = ?????
End Sub
非常感谢您的提前指教。
我今天早些时候也刚刚开始弄乱 WebView2,并且只是在寻找同样的东西。我确实设法拼凑了这个解决方案:
Dim html As String
html = Await WebView2.ExecuteScriptAsync("document.documentElement.outerHTML;")
' The Html comes back with unicode character codes, other escaped characters, and
' wrapped in double quotes, so I'm using this code to clean it up for what I'm doing.
html = Regex.Unescape(html)
html = html.Remove(0, 1)
html = html.Remove(html.Length - 1, 1)
即时将我的代码从 C# 转换为 VB,希望不会遗漏任何语法错误。
添加到@Xaviorq8 答案中,您可以使用 Span
摆脱使用 Remove
:
生成新字符串
html = Regex.Unescape(html)
html = html.AsSpan()[1..^1].ToString();
我在我的 VB.net(Visual Studio 2017)项目中成功地在 WebView2 上显示了一个网站,但无法获取 html 源代码。请告诉我如何获得 html 代码。
我的代码:
Private Sub testbtn_Click(sender As Object, e As EventArgs) Handles testbtn.Click
WebView2.CoreWebView2.Navigate("https://www.microsoft.com/")
End Sub
Private Sub WebView2_NavigationCompleted(sender As Object, e As CoreWebView2NavigationCompletedEventArgs) Handles WebView2.NavigationCompleted
Dim html As String = ?????
End Sub
非常感谢您的提前指教。
我今天早些时候也刚刚开始弄乱 WebView2,并且只是在寻找同样的东西。我确实设法拼凑了这个解决方案:
Dim html As String
html = Await WebView2.ExecuteScriptAsync("document.documentElement.outerHTML;")
' The Html comes back with unicode character codes, other escaped characters, and
' wrapped in double quotes, so I'm using this code to clean it up for what I'm doing.
html = Regex.Unescape(html)
html = html.Remove(0, 1)
html = html.Remove(html.Length - 1, 1)
即时将我的代码从 C# 转换为 VB,希望不会遗漏任何语法错误。
添加到@Xaviorq8 答案中,您可以使用 Span
摆脱使用 Remove
:
html = Regex.Unescape(html)
html = html.AsSpan()[1..^1].ToString();