Как получить «Количество продано» с сайта eBay в Excel с помощью VBA? - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь получить проданное количество товара (в реальном времени) с 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 Ответ

0 голосов
/ 28 мая 2019

Использование класса это нормально.На странице только 1 совпадение, поэтому не нужно захватывать несколько коллекций и выполнять цикл.Просто используйте 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...