こんばんは。VB2005です。
自動ログイン後にWebBrowserのテキストボックスにコメントを
入力したいのですが、ログイン("submit")で画面が切り替わり、次のコメント入力するまえに、待機か次の画面が表示されてから実行するコマンドを入れないといけないのですが、うまくいきません。よい方法はないでしょうか?(Private Sub WebBrowser1_DocumentCompletedを使うと重複エラーが出てしまいます。)
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'下記のURLに飛ぶ。
WebBrowser1.Navigate("https://www.**********.jp")
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
'IDを入力
WebBrowser1.Document.All.GetElementsByName("loginid")(0).InnerText = TextBox4.Text
'パスワードを入力
WebBrowser1.Document.All.GetElementsByName("passwd")(0).InnerText = TextBox3.Text
'ログイン
WebBrowser1.Document.Forms(1).InvokeMember("submit")
'ログイン後、画面が変わりtextを入力
WebBrowser1.Document.All.GetElementsByName("meigCdInText")(0).InnerText = TextBox2.Text
End Sub
DocumentCompleted のイベント引数で URL みて判断するとか。
DocumentCompletedイベントはページの構成によっては何度も発生することがあります。(フレームのページなど)
1ページが完全に表示されたときだけ処理をしたいのなら,eのurlとsenderのurlが一致したことを確認しなければなりません。
ツイート | ![]() |