2017-12-31 21 views
0

좋은 하루 - 여러 번 언급했음을 확신하지만, 나는 가능한 모든 방법을 시도했지만 여전히 작동하지 않습니다.웹 페이지에서 값 추출하기

나는 다음과 같은 코드가 웹 사이트에서 값을 긁어하려고 :

Sub ImportCurrentPrice2() 

    Dim appIE As Object 
    Set appIE = CreateObject("internetexplorer.application") 

    Visible = True 

    With appIE 
    .navigate "https://finance.google.com/finance?q=AAPL" 
    .Visible = False 
    End With 

    Do While appIE.Busy 
    DoEvents 
    Loop 

    Set allRowOfData = appIE.document.getElementsByClassName("hilite") 

    Dim myValue As String: myValue = allRowOfData.Cells(4).innerHTML 

    appIE.Quit 
    Set appIE = Nothing 
    Range("A1").Value = myValue 

End Sub 
:
enter image description here

난 단지 169.23

를 추출 할 필요를이 작동하지 않습니다 내 코드입니다

오류를 반환합니다.

위의 코드를 어떻게 수정해야할까요?

고마워요,

답변

0

이 사진을 한 장주고 시트에 값을 찾으십시오.

Sub ImportCurrentPrice2() 
    Dim appIE As New InternetExplorer, html As HTMLDocument 
    Dim item_data As Object 

    With appIE 
     .Visible = True 
     .navigate "https://finance.google.com/finance?q=AAPL" 
     Do Until .readyState = 4: DoEvents: Loop 
     Set html = .document 
    End With 

    Set item_data = html.queryselector(".pr span") 
    [A1] = item_data.innerText 

    appIE.Quit 
End Sub 

OR :

Set item_data = html.getElementsByClassName("pr")(0).getElementsByTagName("span")(0) 
[A1] = item_data.innerText 
+0

안녕하세요 - 도움을 주셔서 감사합니다. 이것은 무한 루프로 들어갑니다. 내가 필요한 결과를 얻는다고 생각하지 않습니다. 다른 제안 사항이 있으면 알려 주시기 바랍니다. 감사합니다. – user3618585

+0

많은 시도 후에 위의 스크립트에서 이러한 문제가 발생할 수 없습니다. 다시 시도하십시오. – SIM

+0

'Microsoft Internet controls'와'Microsoft HTML object library' 툴을 참조에 추가하고 참조하십시오. – SIM