- ベストアンサー
VB.NET2008でHTMLのボタンをクリックする方法について
- VB.NET2008を使用して、WebBrowserコントロールを利用してHTMLのボタンをクリックする方法を知りたいです。
- 具体的には、Button1をクリックすると、WebBrowserコントロールに表示されているWEBページのボタンを自動的にクリックしたいです。
- どのようにすればこの機能を実現することができるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
間違いました。 →htmElm.DomElement.FireEvent("onclick") これはJavascriptでクリックイベントを設定してある場合でした。 >type="submit" でしたね。。。 →htmElm.DomElement.click() こっちです。
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.WebBrowser1.Navigate("c:\test.htm") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'ドキュメント Dim htmDoc As HtmlDocument = Me.WebBrowser1.Document 'ドキュメント内の「input」タグ達を取得 Dim htmElms As HtmlElementCollection = htmDoc.GetElementsByTagName("input") 'サンプルのHTMLは一個しかないようなので、とりあえず先頭を取得 Dim htmElm As HtmlElement = htmElms.Item(0) 'DOMを利用。mshtmlのサンプルはあちこちで落ちているはず 'あとはクリックイベントを呼ぶだけ 'スクロールでもマウスダウンでも何でも呼べる htmElm.DomElement.FireEvent("onclick") End Sub
お礼
ありがとうござます。 しかしDomElementにClickイベントがなかったのでがんばって試行錯誤したけっか Dim Elements As HtmlElementCollection = Me.WebBrowser1.Document.GetElementsByTagName("input") For Each Element As HtmlElement In Elements If Element.GetAttribute("type") = "submit" Then Element.InvokeMember("click") End If Next によって解決することができました。 ありがとうございます。