2017-06-30 13 views
0

spanタグに到達し、「1日合計」の内部テキストを取得するのに問題があります。ここで「スパン」タグのスクラップが機能しない

はWebページである:ここでは

http://www.morningstar.com/funds/XNAS/DODFX/quote.html

は私のコードは

ある
Sub Macro1() 
' 

link = "http://www.morningstar.com/funds/XNAS/DODFX/quote.html" 

Set ie = CreateObject("InternetExplorer.Application") 
     With ie 
     .Visible = True 
     .navigate link 
     Do 
     DoEvents 
     Loop Until ie.readyState = READYSTATE_COMPLETE 
     Dim doc As HTMLDocument 
     Set doc = ie.document 
     While ie.readyState <> 4 

     Wend 
     On Error Resume Next 

     Application.Wait (Now + TimeValue("00:00:02")) 

     range("B5").Offset(0, 0).Value = doc.getElementById("msqt_summary")(0).getElementsByClassName("gr_colm_a2b")(0).getElementsByTagName("span")(0).innerText 

     End With 
     ie.Quit 
      Application.EnableEvents = True 

' 
End Sub 
+0

インラインフレームは、ページ内にあります。それは問題です。 – MacroMarc

+0

これはiframeで邪魔にならないようにするために試してみるべきURLです(正確に同じ項目を含んでいます):http://quotes.morningstar.com/fund/fundquote/f?t=DODFX&culture=en_us&platform=RET&viewId1= 2313453521&viewId2 = 3167723247&viewId3 = 3474403256&test = QuoteiFrame – SIM

答えて

0

これはあなたのデータを得ることができる方法です。データは実際にiframe内にあります。

Sub Web_Data() 

    Dim IE As New InternetExplorer, html As HTMLDocument 
    Dim elem As Object, post As Object 

    With IE 
     .Visible = False 
     .navigate "http://www.morningstar.com/funds/XNAS/DODFX/quote.html" 
     Do While .readyState <> READYSTATE_COMPLETE: Loop 
     Set elem = .document.getElementById("quote_quicktake").getElementsByTagName("iframe")(0) 
     .navigate elem.src 
     While .readyState < 4: DoEvents: Wend 
     Set html = .document 
    End With 
    Set post = html.getElementsByClassName("gr_text_bigprice")(1).getElementsByTagName("span")(1) 
    MsgBox post.innerText 

    IE.Quit 
End Sub 

出力:

-0.67 
関連する問題