По моему опыту, самый надежный способ - использовать javascript. Хорошо работает в .Net. Для проверки перейдите по следующим адресам один за другим в Firefox или Internet Explorer:
http://www.google.com
javascript:function f(){document.forms[0]['q'].value='stackoverflow';}f();
javascript:document.forms[0].submit()
Выполняет поиск "stackoverflow" в Google. Чтобы сделать это в VB .Net с помощью элемента управления webbrowser, сделайте следующее:
WebBrowser1.Navigate("http://www.google.com")
Do While WebBrowser1.IsBusy OrElse WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
Threading.Thread.Sleep(1000)
Application.DoEvents()
Loop
WebBrowser1.Navigate("javascript:function%20f(){document.forms[0]['q'].value='stackoverflow';}f();")
Threading.Thread.Sleep(2000) 'wait for javascript to run
WebBrowser1.Navigate("javascript:document.forms[0].submit()")
Threading.Thread.Sleep(2000) 'wait for javascript to run
Обратите внимание, как пространство в URL преобразуется в% 20. Я не уверен, если это необходимо, но это не повредит. Важно, чтобы первый JavaScript был в функции. Вызовы Sleep () должны ждать загрузки Google, а также вещей javascript. Цикл Do While может выполняться вечно, если страница не загружается, поэтому для целей автоматизации имеется счетчик, который истекает через, скажем, 60 секунд.
Конечно, для Google вы можете просто перейти непосредственно на www.google.com?q=stackoverflow, но если на вашем сайте есть скрытые поля ввода и т. Д., То это путь. Работает только для сайтов HTML - флеш это совсем другое дело.