在VB6中,我想遍历Web浏览器控件中的所有html标记。由于html内容很大,它变得很慢。以下是我的要求。
我想得到一个" A" (锚)标记具有在该文档中唯一的特定名称。(示例)。得到之后 那个标签我想循环遍历所有的html标签,直到我得到另一个" A"用另一个特定名称标记。 (例如
所以我使用下面的代码。代码是通过检查属性名称中的某些字符来完成的,因为它以相同的方式工作。代码不符合我的要求,我解释为我做了另一种方式。
Dim bkm As Boolean
Dim hw2 As HTMLWindow2
For Each ele In hw2.Document.All
If ele.getAttribute("name") = mybkm Then 'mybkm variable having name of tag
bkm = True
ele.Style.cssText = "background-color:#FFFFEB;" & ele.Style.cssText
ElseIf bkm = True And InStr(ele.outerHTML, "name=BKM") = 0) Then
ele.Style.cssText = "background-color:#FFFFEB;" & ele.Style.cssText
ElseIf InStr(ele.getAttribute("name"), "BKM") > 0 Then
If bkm = True Then
bkm = False
Exit For
End If
End If
Next
但是在我的这个第一次出现的带有该名称的A标签变得非常慢(整个过程需要大约90%的时间),因为大号没有。标签如P,br,A,表等等
所以我打算先获得#34; A"具有特定名称的标签(可能只是通过循环#34; A"标签)然后循环所有标签直到我接下来" A"标签
那怎么办呢?
答案 0 :(得分:1)
Try like this -
Dim i As Integer
Dim anchorElement As HTMLAnchorElement = wbMain.Document.All.getElementByTagName("A")(0)
For i = 0 To anchorElement.attributes.length - 1
MsgBox anchorElement.attributes.item(i).name & "=" & anchorElement.attributes.item(i).value
Next i