我正在努力将一组链接检索到一个集合中。所有其他页面元素响应正常的 get 命令,除了这些。这就是 HTML 和 javascript 的知识会带来好处的地方。我自己的猜测是,错误可能与 href 是一个 javascript 命令有关,还是它们隐藏在“clear”或“clearfix”类后面,从而使它们隐藏? 我的最终目标是能够从 javascript hrefs 中抓取链接。
感谢任何帮助。谢谢
Public Function getNewsMAIN()
Dim strURL As String: strURL = _
"http://www.londonstockexchange.com/exchange/prices-and-markets/stocks/exchange-insight/company-news.html?fourWayKey=GB00BYN59130GBGBXSTMM"
Dim HTMLDoc As New HTMLDocument
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
oXMLHTTP.Open "GET", strURL, False
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
HTMLDoc.body.innerHTML = oXMLHTTP.responseText
Else: End If
'//Various attempts at cornering the links
Dim myLinks As IHTMLElementCollection
Dim myLink As IHTMLElement
Set myLinks = HTMLDoc.getElementsByTagName("a") '("ul") ("li")
Set myLinks = HTMLDoc.getElementsByClassName("newsArchive") '("newsContainer")
Set myLink = HTMLDoc.getElementById("newsArchive")
End Function
有问题的 HTML。 链接包含在
<li class="newsContainer"></li>
每页有 40 个。
最佳答案
这些链接是在主页面加载后加载到页面的附加内容的一部分,因此它们不会成为 MSXML 内容的一部分。如果您想从这样的页面获取内容,那么最好的办法是尝试让 IE 自动加载页面,然后在呈现完整页面后收集链接。
关于javascript - HTML Anchor Elm 对 VBA 的隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43832051/