Web ページに移動し、要素が読み込まれるのを待ってから、新しいページから要素を収集するスクリプトを作成しようとしています。現状では、このスクリプトは次の場所で待機する必要があるときにまっすぐ実行されています。
Do Until AxWebBrowser1.ReadyState = WebBrowserReadyState.Complete
処理後:
htmldoc.getElementsByName("GetCase").item(0).click() 'click the submit button
実際にはページの読み込みがまだ完了していないときに、2 番目のサブのメッセージ ボックス ポップアップがすぐに表示されます。これを考慮して、ページの準備が整うまでスクリプトを待機させてから、htmldoc = axwebbrowser1.document を作成するにはどうすればよいですか
Private Sub GetCase()
htmldoc = AxWebBrowser1.Document.frames("top").document 'set the top frame to be searched for
setval = htmldoc.getElementsByName("caseNum").item(0) 'grab the input name for contracts
setval.value = TextBox1.Text 'set the textbox value into the web form input
TextBox1.Clear()
htmldoc.getElementsByName("GetCase").item(0).click() 'click the submit button
Do Until AxWebBrowser1.ReadyState = WebBrowserReadyState.Complete 'do events until it is complete
Application.DoEvents()
Loop
If ComboBox1.Text = "MM" Then
Gather()
End If
End Sub
Private Sub Gather()
Do Until AxWebBrowser1.ReadyState = WebBrowserReadyState.Complete 'do events until it is complete
Application.DoEvents()
Loop
htmldoc = AxWebBrowser1.Document
MessageBox.Show("got elements")
End Sub