Я пытаюсь извлечь значение атрибута из нескольких строк HTML (из этой страницы Reddit ), сделайте это для нескольких элементов для каждого, а затем поместите эти значения в массив. (В основном для подсчета количества наград поста Reddit.)
Код ничего не возвращает; AwardCount равно 0.
Цель: проверить, существует ли класс с названием «награда-ссылка», и сложить # различных наград, чтобы получить общую сумму.
У меня другая проблема : Мне нужно проверить эту "ссылку для награждения", но без области комментариев. Таким образом, они должны быть дочерними элементами идентификатора siteTable. Проблема в том, что я не могу просто использовать другой символ «>», потому что он предназначен для непосредственных дочерних элементов.
Sub GetData2()
Dim IE As InternetExplorer
Dim itemEle As Object, datacountobj As Object, awards As Object
Dim upvote As Integer
Dim postdate As String, upvotepercent As String, awardAdd As String, _
awardCount As String, animated As String, dates As String, isanimated As String, _
oc As String, filetype As String, linkurl As String, myhtmldata As String, _
visiComments As String, totalComments As String, removedComments As String, _
test As String, tested As String, test2 As String, test3 As String, title As String, _
deletedComments As String
Dim y As Integer, x As Integer
Dim U As Long, L As Long, j As Long
Set IE = New InternetExplorer
IE.Visible = True
IE.navigate (ActiveCell.Value)
Do While IE.Busy = True Or IE.readyState <> 4: DoEvents: Loop
Dim nodeList As Object, i As Long, urls(), results(), results2()
Set awards = IE.document.querySelectorAll("span.awardings-bar > awarding-link")
If Not awards Is Nothing Then
awardCount = 0
For x = 0 To awards.Length - 1
awardAdd = awards.getAttribute("data-count")
awardCount = awardCount + awardAdd
Next x
Else
awardCount = 0
End If
results(i + 1, 14) = awardCount
(результаты представляют собой просто массив на основе 1D 0)