发送密钥到webbrowser vb.net?

时间:2012-02-22 19:32:00

标签: vb.net button browser send sendkeys

我的vb.net应用程序中有一个webbrowser,我想在网站的文本框中输入文本。单击按钮1时,它以编程方式查找文本框并在其中键入消息。

Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            SendKeys.Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}")
            SendKeys.Send("The text I want to send to the control.")
        End Sub

End Class

然而,它不起作用。 Tab键确实将光标放在正确的位置,但是当文本粘贴在应用程序崩溃时。什么出错了?

2 个答案:

答案 0 :(得分:1)

要将密钥发送到WebBrowser,请获取WebBrowser焦点以及稍后的SendKeys。使用以下代码:

 Me.WebBrowser1.Document.Body.Focus()
 System.Windows.Forms.SendKeys.Send("...") 'Whatever keys combination you want

答案 1 :(得分:0)

由于您使用的是webbrowser控件,因此可以按名称访问该元素。例如,这会将文本放入Google的搜索框,然后点击Google搜索按钮:

WebBrowser1.Document.All("q").SetAttribute("Value", "Text value.")
WebBrowser1.Document.All("btnK").InvokeMember("click")