2017-05-07 77 views
0

我很努力地检索一组链接到一个集合。所有其他页面元素都响应正常的get命令,除了这些。这是知识的HTML和JavaScript将支付股息。我自己的猜测是,错误很可能是因为href是一个javascript命令,或者它们隐藏在“清除”或“清除修补程序”类后面,使它们隐藏起来? 我的最终目标是能够从JavaScript hrefs内部获取链接。HTML锚榆树的隐藏到VBA

任何帮助表示赞赏。谢谢

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个每页。

Sample HTML

回答

1

这些链接是其主要的页面加载后加载到页面附加内容的一部分,所以他们不会是MSXML内容的一部分。如果你想从这样的页面获得内容,那么你最好的办法就是尝试自动化IE来加载页面,然后在完整页面渲染完成后收集链接。