VBAによるIE操作について
VBAでIEを操作し、PHPで開発されているMoodleを操作しようと思っています。
概ね自分の思い通りに動くように作れたのですが、一点だけ問題が発生してしまいました。
①Submitのボタンを押して、②ページを読み込み待ち、③次のページのSubmitのボタンを押すという処理がうまく行きません。
エラーが出るのが、③のボタンを押したつもりになって、次の作業に行ってしまっていました。
②のページの読み込み待ちがうまく行かず、③のボタンを押したつもりになってしまい、次の作業でエラーを起こす、そんな次第です。
②のページの読み込みは下記の様に組んでます。
④の様に組んでも結果は一緒でした。
あとページが変わるまで、ボタンを押し続ける様に組むと、サーバーが落ちました。(ボタンが無くても押していることができるということだったので、試してみました。コードは残していなかった。)
ちなみにボタンを押すコードは⑤です。
PHPの読み込みを待っていないとかそんな原因ではないかと思うのですが、解決できないでしょうか。
②
Function IEwait(ByRef objIE As Object)
Do While objIE.readystate <> 4
DoEvents
Loop
End Function
④
Do Until objIE.Busy = False
WScript.sleep(250)
Loop'
⑤
Public Function IEButtonClick(ByRef objIE As Object, buttonValue As String)
Dim objInput As Object
For Each objInput In objIE.document.getElementsByTagName("INPUT")
If objInput.Value = buttonValue Then
objInput.Click
Exit Function
End If
Next
End Function
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/07 23:48