2012-02-22 58 views
1

我在我的vb.net应用程序中有一个webbrowser,我想将文本输入到网站上的文本框中。当单击按钮1时,它会以编程方式查找文本框并键入消息。发送密钥到webbrowser vb.net?

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 

但是,它不起作用。标签键确实让光标在正确的位置,但是当文本被粘贴在应用程序崩溃时。出了什么问题?

+0

您是否使用Windows窗体应用程序来浏览网页? – StingyJack 2012-02-22 19:39:39

+0

@SingyJack我想是这样,但是你让我感到困惑:/我不明白你刚说的话! – user1196604 2012-02-22 19:43:17

+0

您的代码来自Windows窗体应用程序。 “网站上的文本框”意味着您的互动目标是一个网页。它是否正确? – StingyJack 2012-02-23 17:44:42

回答

0

由于您使用的是Web浏览器控件,因此可以按名称访问该元素。例如,这将会把文本转换成谷歌的搜索框,然后点击谷歌搜索按钮:

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

要发送键,web浏览器,web浏览器获得重点和后来的SendKeys。使用以下代码:

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