2017-05-07 14 views
0

私はコレクションへのリンクのセットを取得するのに苦労しています。それ以外のすべてのページ要素は、通常のgetコマンドに応答します。これは、HTMLとJavaScriptの知識が配当を支払うところです。私自身の推測では、フォールトは、hrefがjavascriptコマンドであること、または "clear"や "clearfix"クラスの後ろに隠されて隠れていることが原因ですか? 私の最終目標は、javascriptのhref内からリンクを掻き集めることです。HTML Anchor Elmさんが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> 

ページに含まれています。

Sample HTML

答えて

1

これらのリンクはメインページが読み込まれた後にページにロードされている追加コンテンツの一部であるので、彼らはMSXMLコンテンツの一部ではありません。このようなページからコンテンツを取得したい場合は、IEを自動化してページをロードし、フルページがレンダリングされたらリンクを収集することが最善の方法です。

関連する問題