この Web ページからいくつかの情報を Excel シートに取得したいと思います: http://www.livescore.in/
私のコードは次のようになります。
Dim page1 As MSXML2.XMLHTTP60
Dim html As MSHTML.HTMLDocument
Dim myDiv As Object
Set page1 = New MSXML2.XMLHTTP60
Set html = New MSHTML.HTMLDocument
page1.Open "GET", "http://www.livescore.in", False
page1.send
Do Until page1.readyState = 4 And page1.Status = 200
DoEvents
Loop
html.body.innerHTML = page1.responseText
Set myDiv = html.getElementById("fscon")
Debug.Print myDiv.innerText
"fscon" div にある "fs" div で作業したいのですが、このスクリプトの結果は "Loading ..." です。
私は問題が何であるかを知っています: ベースページがロードされているとき、いくつかの JavaScript が "fscon" div を埋めます。私のスクリプトはベースページのみを表示します(データ計算なし)
私の質問は、ページ全体が読み込まれるまでどのように待つことができますか?
ありがとう
更新: このコードは機能しています。IE オブジェクトを使用します。ページからすべての一致をスキャンする速度をテストします。
Dim ieApp As InternetExplorer
Dim ieDoc As Object
Set ieApp = New InternetExplorer
ieApp.Visible = False
ieApp.navigate "http://www.livescore.in"
Do While ieApp.Busy: DoEvents: Loop
Do Until ieApp.readyState = READYSTATE_COMPLETE: DoEvents: Loop
Set ieDoc = ieApp.document
Debug.Print ieDoc.all.Item("fscon").innerText
Set ieDoc = Nothing
ieApp.Quit
Set ieApp = Nothing