【问题标题】:How can I get the sourcecode and put it in my gridview?如何获取源代码并将其放入我的 gridview 中?
【发布时间】:2021-11-11 20:50:25
【问题描述】:

在按钮单击时,我想将 url 从 cell(0) 加载到 webwiev2-component,然后当加载结束时,我想将源代码添加到 cell(4)。目标是能够从列表中预加载网站。

到目前为止,我有这个,但它只将 System.Threading.Tasks.Task`1[System.String 添加到 cell(4) 并且不等待站点加载。非常感谢所有帮助。

        Dim preuri As Uri
        Dim src As String
        Dim rowindex As Integer
        rowindex = DataGridView1.CurrentCell.RowIndex
        Try

            'WebView22.Source = New Uri("https://" + DataGridView1.Rows(rowindex).Cells(0).Value.ToString)
            src = WebView21.CoreWebView2.ExecuteScriptAsync("new XMLSerializer().serializeToString(document);").ToString

            src = System.Text.RegularExpressions.Regex.Unescape(src)
            src = src.Remove(0, 1)
            src = src.Remove(src.Length - 1, 1)
            DataGridView1.Rows(rowindex).Cells(4).Value = src
        Catch ex As Exception
        End Try

    End Sub```

【问题讨论】:

  • 首先是一个错字:'WebView22 - 注意撇号 - 它应该是 WebView21。第二:ExecuteScriptAsync 只接受 javascript 作为参数,而不接受 C# 代码。 javascript 在WebView2 中运行。

标签: vb.net webview2


【解决方案1】:

This answer 可以帮助您入门。您可能需要一些代码,例如:

Dim html As String
html = Await WebView2.ExecuteScriptAsync("document.documentElement.outerHTML;")
html = Regex.Unescape(html)

注意Await 位。 ExecuteScriptAsync() 是一个异步函数。它立即返回一个Task(Of String),您需要等待它才能得到实际的字符串结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 2017-04-20
    相关资源
    最近更新 更多