如何使用WebView2控件解析文本



我需要从一个没有用旧的Web浏览器控件加载的网站中获取不断变化的文本,所以我第一次在WebView2 上迈出了步伐

我想要解析的html是:

<td data-v-39c7db2a="" class="text-right">
0.0000%
</td>

我需要的值是百分比。我使用的代码是

Private Sub WebView2_NavigationCompleted(sender As Object, e As CoreWebView2NavigationCompletedEventArgs) Handles WebView2.NavigationCompleted
Dim text As String = Await WebView2.ExecuteScriptAsync("document.getElementById('text-right').selectedIndex")
MessageBox.Show(text)

它不仅仅返回一个带有";空";现在从旧的Web浏览器控件转移到WebView有点复杂,这也是因为缺乏文档。

这实际上与WebView2无关,而是一个纯粹的javascript问题。

您需要使用:

document.querySelector('td.text-right').textContent

这将返回类名为"text right"的第一个表单元格的文本。

但是,如果存在多个类名为"text right"的表单元格,则这可能不适用。

在这种情况下,您可以查询第n个子级,其中n是子级索引:

document.querySelector('td.text-right:nth-child(7)').textContent

要获得作为Double:的百分比值

Dim percent as Double = Double.Parse(Regex.Match(text, "[d.]+").ToString(), CultureInfo.InvariantCulture);

最新更新