Я пытаюсь получить количество проданных товаров (в реальном времени) с eBay в Excel с помощью VBA? Это то, что я нашел на stackoverflow до сих пор. Но я не получаю никаких результатов Буду признателен за любую помощь Спасибо
Option Explicit
Sub readData()
Dim XMLPage As New MSXML2.XMLHTTP60
Dim html As New MSHTML.HTMLDocument
Dim profile As IHTMLElement6
XMLPage.Open "GET", "https://www.ebay.com/itm/VIRGINIA-CAVALIERS-FINAL-FOUR-National-FREAKIN-Champions-T-Shirt-Gildan/352639122861", False
XMLPage.send
If XMLPage.Status <> 200 Then MsgBox XMLPage.statusText
html.body.innerHTML = XMLPage.responseText
For Each profile In html.getElementsByTagName("span")(0).Children
Debug.Print profile.getElementsByClassName("vi-txt-underline")(0)
Next
End Sub
Конечно, я ожидаю получить «1» в качестве количества проданного товара.
Мне просто нужно вытащить внутренний текст (но только числовое значение) имени класса «vi-txt-underline» на этой веб-странице и поместить его на лист Excel. Затем я хочу создать тот же код для 100 элементов.






Использование класса в порядке. На странице есть только одно совпадение, поэтому нет необходимости захватывать несколько коллекций и зацикливаться. Просто используйте querySelector, чтобы вернуть первое совпадение.
Public Sub GetNumberSold()
Dim html As HTMLDocument
Set html = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://www.ebay.com/itm/VIRGINIA-CAVALIERS-FINAL-FOUR-National-FREAKIN-Champions-T-Shirt-Gildan/352639122861", False
.send
html.body.innerHTML = .responseText
End With
MsgBox html.querySelector(".vi-txt-underline").innerText
Debug.Print Replace$(html.querySelector(".vi-txt-underline").innerText," sold",vbNullString)
Debug.Print split(html.querySelector(".vi-txt-underline").innerText,chr$(32))(0)
End Sub
Спасибо, QHarr, есть ли способ прочитать только числовую часть, чтобы я мог создать график в Excel?
Используйте замену, чтобы заменить проданное слово, или используйте разделение на пробел и возьмите нижнюю границу результирующего массива.
Можете ли вы сказать нам, что из вашего кода не работает и какие результаты вы ожидаете? (минимальный воспроизводимый пример)