在您在两个地方之间建立路线后,是否可以从HTML代码中提取里程?获得指示后,我可以在IE浏览器的页面源代码中查看里程,我正在尝试使用下面的内容提取显示的里程数。这可能很容易,但我很难过。
更多信息。我能够传递WebBrowser控件的位置来获取方向,并在IE中显示方向。我想在文本框中获取里程。
html代码
VB.NET代码
Dim miles As String = ""
Dim minutes As String = ""
Dim strHtml As String = ""
strHtml = wbMaps.DocumentText
For i As Integer = 0 To strHtml.Length - 1
If InStr(strHtml(i).ToString, "descriptionDistance") Then
Dim bracketLoc As Integer = 0
Dim closeBracketLoc As Integer = 0
bracketLoc = InStr(strHtml(i).ToString, ">")
closeBracketLoc = InStr(strHtml(i).ToString, "<")
miles = Mid(strHtml(i).ToString, bracketLoc + 1, closeBracketLoc - 1)
haulMiles = Val(miles)
tb_Miles.Text = haulMiles.ToString
End If
Next
答案 0 :(得分:1)
我明白了。我用过这个:
Dim miles As String = ""
Dim minutes As String = ""
Dim strHtml As StringBuilder
strHtml = New StringBuilder
strHtml.Append(wbMaps.DocumentText)
Dim lines() As String = Split(strHtml.ToString, vbCrLf)
For Each line As String In lines
If InStr(line, "descriptionDistance") Then
Dim bracketLoc As Integer = 0
Dim closeBracketLoc As Integer = 0
bracketLoc = InStr(line, ">")
closeBracketLoc = InStr(line, "<")
miles = Mid(line, bracketLoc + 1, closeBracketLoc - 1)
haulMiles = Val(miles)
tb_Miles.Text = miles
End If
Next
答案 1 :(得分:0)
我看到你已经回答了自己的问题,但我会在你感兴趣的时候添加另一个答案。如果您使用可以通过NuGet添加到项目中的HtmlAgilityPack,而不是编写自己的解析逻辑,您可以更轻松地获得里程:https://www.nuget.org/packages/HtmlAgilityPack/
Dim htmlDoc As New HtmlAgilityPack.HtmlDocument
htmlDoc.LoadHtml(wbMaps.Document.Body.InnerHtml)
miles = htmlDoc.DocumentNode.SelectSingleNode("//td[@data-tag='descriptionDistance']").InnerHtml