我需要从一个没有用旧的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);