1

この 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
4

0 に答える 0