请问你能帮我理解如何在qazxsw poi找到带有班级名称qazxsw poi的标签qazxsw poi吗?
我收到a
,我不知道如何解决这个问题。
Table
我会使用css选择器作为通常更快的选择器方法,并减少循环,从而降低复杂性。循环单个nodeList。
bptable
在Object does not support this method
前面的Sub ListVideosOnPage(VidCatName As String, VidCatURL As String)
Dim XMLReq As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim VidRow As MSHTML.IHTMLElement
Dim VidInnerRow As MSHTML.IHTMLElement
Dim VidRows As MSHTML.IHTMLElementCollection
Dim VidInnerRows As MSHTML.IHTMLElementCollection
Dim VidInnerCatID As Integer
XMLReq.Open "GET", VidCatURL, False
XMLReq.send
If XMLReq.Status <> 200 Then
MsgBox "Problem" & vbNewLine & XMLReq.Status & " - " & XMLReq.statusText
Exit Sub
End If
HTMLDoc.body.innerHTML = XMLReq.responseText
Set XMLReq = Nothing
Set VidRows = HTMLDoc.getElementsByClassName("bptable")
Set VidInnerRows = ***VidRows***.getElementsByTagName("a")
With VidRows
For VidInnerCatID = 2 To VidInnerRows.Length
Set VidInnerRow = VidInnerRows(VidInnerCatID)
'Debug.Print
Next VidInnerCatID
End With
End Sub
是Dim nodeList As Object, i As long
Set nodeList = HTMLDoc.querySelectorAll(".bptable a")
For i = 0 To nodeList.Length - 1
Debug.Print nodeList.item(i).innerText
Next
;后面的空间是.
,最后的bptable
是class selector。它说选择父母有类descendant combinator的a
标签元素。
我正在打印到即时窗口Ctrl + G.
您可以使用type selector或尝试使用a
获取单个元素,以便在其上应用bptable
,而不是在元素集合上使用.getElementsByTagName("a")
。我会选择VidRows(0)
来达到目的。以下是获取内容的一种方式。
for loop