如何在没有 id VB 的情况下获取 'href' 的值
How to get the value of 'href' without id VB
我知道这是一个愚蠢的问题,但我很难回答这个问题。我想在没有 id 的情况下获取 'href' 的值,但我不能。
这是HTML
<p class="CLASS">
<a href="URL" target="TARGET">
<img src="IMGURL" title="TITLE" border="BORDER">
</a>
</p>
这是我正在使用的(不起作用):
For Each WPE As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
If WPE.GetAttribute("target").Equals("TARGET") Then
HREFVALUE = WPE.Getattribute("href")
Exit For
End If
Next
那么如何获取'href'的值呢?
您的代码工作正常。但是你没有得到预期的结果,因为你可能在错误的地方执行了代码。文档完成后代码应该是运行。知道文档已经完成的一个好地方是 WebBrowser
控件的 DocumentCompleted
事件:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.WebBrowser1.Navigate("d:\file.html")
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As _
WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim tag = Me.WebBrowser1.Document.GetElementsByTagName("a").Cast(Of HtmlElement) _
.Where(Function(a) a.GetAttribute("target") = "TARGET") _
.FirstOrDefault()
Dim href = tag.GetAttribute("href")
End Sub
我在上面的代码中使用了 linq 只是为了学习目的。您自己的代码也可以正常工作。
我知道这是一个愚蠢的问题,但我很难回答这个问题。我想在没有 id 的情况下获取 'href' 的值,但我不能。
这是HTML
<p class="CLASS">
<a href="URL" target="TARGET">
<img src="IMGURL" title="TITLE" border="BORDER">
</a>
</p>
这是我正在使用的(不起作用):
For Each WPE As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
If WPE.GetAttribute("target").Equals("TARGET") Then
HREFVALUE = WPE.Getattribute("href")
Exit For
End If
Next
那么如何获取'href'的值呢?
您的代码工作正常。但是你没有得到预期的结果,因为你可能在错误的地方执行了代码。文档完成后代码应该是运行。知道文档已经完成的一个好地方是 WebBrowser
控件的 DocumentCompleted
事件:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.WebBrowser1.Navigate("d:\file.html")
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As _
WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim tag = Me.WebBrowser1.Document.GetElementsByTagName("a").Cast(Of HtmlElement) _
.Where(Function(a) a.GetAttribute("target") = "TARGET") _
.FirstOrDefault()
Dim href = tag.GetAttribute("href")
End Sub
我在上面的代码中使用了 linq 只是为了学习目的。您自己的代码也可以正常工作。