【发布时间】:2019-04-25 11:06:49
【问题描述】:
我正在尝试根据“https://finance.yahoo.com”设置自动更新股票价值。
我需要使用后期绑定,但它不起作用,而早期绑定可以正常工作。有办法解决吗?
Sub FetchFinanceInfoLateBinding()
Dim XMLReq As Object
Dim HTMLDoc As Object
Dim post As Object, I&
Set XMLReq = CreateObject("Msxml2.ServerXMLHTTP.6.0")
'Set HTMLDoc = CreateObject("MSXML2.DOMDocument.6.0")
Set HTMLDoc = CreateObject("htmlfile")
XMLReq.Open "GET", "https://finance.yahoo.com/quote/BABA/cash-flow?p=BABA", False
XMLReq.send
HTMLDoc.body.innerHTML = XMLReq.responseText
Set post = HTMLDoc.getElementsByClassName("Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)")(0)
Debug.Print post.innerText
End Sub
Sub FetchFinanceInfoEarlyBinding()
Dim XMLReq As New XMLHTTP60
Dim HTMLDoc As New HTMLDocument
Dim post As Object, I&
XMLReq.Open "GET", "https://finance.yahoo.com/quote/BABA/cash-flow?p=BABA", False
XMLReq.send
HTMLDoc.body.innerHTML = XMLReq.responseText
Set post = HTMLDoc.getElementsByClassName("Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)")(0)
Debug.Print post.innerText
End Sub
如前所述,我希望能够在设置此解决方案时使用后期绑定。
【问题讨论】:
-
这是一个已知问题,后期绑定
htmlfile使用的IE版本低于9,不支持.getElementsByClassName方法。
标签: html excel vba web-scraping