Отправка ключей на веб-браузер vb.net? - PullRequest
1 голос
/ 22 февраля 2012

У меня есть веб-браузер в приложении vb.net, и я хотел бы ввести текст в текстовое поле на сайте. При нажатии кнопки 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

Однако это не работает. Клавиши со вкладками делают курсор в нужном месте, но при вставке текста в приложении происходит сбой. Что пошло не так?

Ответы [ 2 ]

1 голос
/ 22 ноября 2016

Чтобы отправить ключи в WebBrowser, получите фокус WebBrowser и позже SendKeys.Используйте следующий код:

 Me.WebBrowser1.Document.Body.Focus()
 System.Windows.Forms.SendKeys.Send("...") 'Whatever keys combination you want
0 голосов
/ 23 февраля 2012

Поскольку вы используете элемент управления веб-браузера, вы можете получить доступ к элементу по имени. Например, это поместит текст в окно поиска Google, а затем нажмите кнопку поиска Google:

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