をクリックによってナビゲートページからHTMLデータの取得。ここで私が抱えている問題は、次のとおりです。コードは、最初のいくつかのステップを経るが、それは2ページのHTMLを解析しようとすると、それは最初のページからHTMLを返します。何らかの理由で、画面に正しい情報が表示されているにもかかわらず、WebBrowser.DocumentのHTMLが新しい画面の読み込みで変更されることはありません。私はI.E.を強制しようとしました。ページが読み込まれるまで待つが、それは何の違いもないようだ。コードは次のとおりです:VBA:私は、ウェブページに移動し、いくつかの情報を入力し、ボタンをクリックし、次のページに移動し、そして得られた情報の一部を収集するために、VBAを使用しようとしている
Sub SnowLoad(Latitude As String, Longitude As String, State As String)
Dim MyHTML_Element As IHTMLElement
Dim HTMLDoc As HTMLDocument
Dim MyURL As String
Dim SnowTag As String
Dim SnowPos As Long
SnowTag = "Load"
On Error GoTo Err_Clear
MyURL = "http://snowload.atcouncil.org/"
''open new explorer
Dim MyBrowser As New InternetExplorer
MyBrowser.Silent = True
''navigate to page
MyBrowser.navigate MyURL
MyBrowser.Visible = True
''wait until ready
Do
DoEvents
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.document
HTMLDoc.all.optionCoordinate_LATLON.Click
HTMLDoc.all.coordinate_lat.Value = Latitude
HTMLDoc.all.coordinate_lon.Value = Longitude
Set elems = HTMLDoc.getElementsByTagName("button")
For Each e In elems
If (e.getAttribute("class") = "btn") Then
e.Click
Exit For
End If
Next e
Do
DoEvents
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set elems = HTMLDoc.getElementsByTagName("p")
For Each e In elems
Debug.Print e.innerHTML
If InStr(e.innerHTML, SnowTag) Then
SnowPos = InStr(e.innerHTML, SnowTag)
Range("SnowPosition").Value = SnowPos
Exit For
End If
Next e
Err_Clear:
If Err <> 0 Then
Err.Clear
Resume Next
End If
End Sub
私の人生のために私は2番目のページに表示される情報を取得する方法を見つけることができません。グーグルの量は、答えやそれに類する問題を生じさせていないようです。 .navigateへの実際の呼び出しの代わりにボタンを使用してナビゲートすることに関連していますか?
は、我々は、HTMLを見ることはできますか? 2つのうちの1つのように聞こえるが、コードはあなたのコードにもかかわらず完全に読み込まれていない。新しいページはフレーム/ iFrameにあります。または何か他のもの、ウェブサイトやHTMLを見て参考にする必要があります。 –
私は(私は貼り付けるとき、それはtrainwreckに変わります)、元のポストに適切にフォーマットされたHTMLを取得する方法を見つけ出すように見えることはできません。ここにウェブサイトがあります: [Snow Link](http://snowload.atcouncil.org/index.php/component/vcpsnowload/item) 私はHTMLに精通していないので、私は完全にはわかりませんそれのいずれかが注目に値する。 – Tsnorthern
特定の地域の降雪のpsfを返そうとしていますか? –