从网站获取号码

getting a number from a website

我正在尝试从网站获取欧元金额字符串的数字部分。我尝试了不同的东西,通常都可以。这是我的 3 次最佳尝试。什么都没用

我的第一次尝试:

Sub gsellor() 
    Dim objIE As InternetExplorer 
    Dim aEle As HTMLLinkElement 
    Dim HTMLtags As IHTMLElementCollection
    Dim HTMLtag As IHTMLElement
    Dim HTMLPreisTag As IHTMLElement

    Set objIE = New InternetExplorer
    objIE.Visible = True

    objIE.navigate "https://www.gdax.com/trade/LTC-EUR"
    Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop


    Set HTMLPreisTag = objIE.document.getElementById("page_content").Children(0).Children(1).Children(0).Children(1).Children(0)
    Debug.Print HTMLPreisTag.className
    Debug.Print HTMLPreisTag.Children(1).Children(0).Children(0).innerText     ' gets stuck right here



    objIE.Quit

End Sub

立即window显示:

MarketInfo_market-info_3lkUj

我的第二次尝试:

Sub gsellor()  
    Dim objIE As InternetExplorer 
    Dim aEle As HTMLLinkElement 
    Dim HTMLtags As IHTMLElementCollection
    Dim HTMLtag As IHTMLElement
    Dim HTMLPreisTag As IHTMLElement

    Set objIE = New InternetExplorer
    objIE.Visible = True

    objIE.navigate "https://www.gdax.com/trade/LTC-EUR"
    Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop


    Set HTMLtags = objIE.document.getElementsByTagName("span")
    Debug.Print HTMLtags.Length
    For Each HTMLtag In HTMLtags
        Debug.Print "name: " & HTMLtag.className
        Debug.Print "text: " & HTMLtag.innerText

    Next HTMLtag


    objIE.Quit

End Sub

立即window显示:

 3
name: 
text: 
name: AccountPanel_account-panel-user-name_2TNIL
text: 
name: sr-only
text: Toggle navigation

我的第三次尝试:

Sub gsellor()   
    Dim objIE As InternetExplorer 
    Dim aEle As HTMLLinkElement 
    Dim HTMLtags As IHTMLElementCollection
    Dim HTMLtag As IHTMLElement
    Dim HTMLPreisTag As IHTMLElement

    Set objIE = New InternetExplorer
    objIE.Visible = True

    objIE.navigate "https://www.gdax.com/trade/LTC-EUR"
    Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop


    Set HTMLtags = objIE.document.getElementsByClassName("MarketInfo_market-num_1lAXs")
    Debug.Print HTMLtags.Length
    For Each HTMLtag In HTMLtags
        Debug.Print "name: " & HTMLtag.className
        Debug.Print "text: " & HTMLtag.innerText

    Next HTMLtag


    objIE.Quit

End Sub

立即window:

0 

要获取内容你需要让你的浏览器等到内容不是什么都没有。这是达到相同目的的另一种方式:

Sub gsellor()
    Dim ObjIE As New InternetExplorer
    Dim Ohtml As HTMLDocument
    Dim item_price As Object

    With ObjIE
        .Visible = True
        .navigate "https://www.gdax.com/trade/LTC-EUR"
        Do Until .readyState = READYSTATE_COMPLETE: Loop
        Set Ohtml = .document
    End With

    Do
        Set item_price = Ohtml.getElementsByClassName("MarketInfo_market-num_1lAXs")(0)
        DoEvents
    Loop While item_price Is Nothing

    MsgBox item_price.innerText

    ObjIE.Quit
End Sub