¿Cómo se hace clic en un botón en un control de navegador web?

Por ejemplo, usando el código y sin la entrada del usuario, ¿cómo haría que mi progtwig haga clic en el botón “Buscar” en google (suponiendo que ya he completado el cuadro de búsqueda y estoy en google.com)

webBrowser1.Navigate("http://www.google.com"); 

Si tiene una ID use esto:

 webBrowser1.Document.GetElementById("id").InvokeMember("click"); 

Si tiene TagName use esto

  webBrowser1.Navigate("http://www.google.com"); 

En el evento DocumentCompleted del navegador web

 HtmlElement textElement = webBrowser1.Document.All.GetElementsByName("q")[0]; textElement.SetAttribute("value", "your text to search"); HtmlElement btnElement = webBrowser1.Document.All.GetElementsByName("btnG")[0]; btnElement.InvokeMember("click"); 

Si tiene nombre Class use esto:

 HtmlElementCollection classButton = webBrowser1.Document.All; foreach (HtmlElement element in classButton) { if (element.GetAttribute("className") == "button") { element.InvokeMember("click"); } } 

Para agregar texto en un TextBox de TextBox para buscar en google.com, use esto:

  webBrowser1.Document.GetElementById("gs_tti0").InnerText = "hello world"; 

Pruebe el siguiente código:

 public WebBrowser webBrowser1 = new WebBrowser(); private void WebForm_Load(object sender, EventArgs e) { try { webBrowser1.Height = 1000; webBrowser1.Width = 1000; this.Controls.Add(webBrowser1); webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted); this.webBrowser1.Navigate("www.google.com.au"); } catch { } 

Escriba la siguiente función en su formulario c #:

 public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { var webBrowser = sender as WebBrowser; webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted; HtmlElement textElement = webBrowser.Document.All.GetElementsByName("q")[0]; textElement.SetAttribute("value", "mlm company"); HtmlElement btnElement = webBrowser.Document.All.GetElementsByName("btnG")[0]; btnElement.InvokeMember("click"); } 

Además de usar InvokeMember y otros, si su página web tiene problemas para responder cuando se lo llama por ID o Class , puede intentar usar {TAB} & {ENTER} usando la clase SendKeys dentro de .NET. He escrito muchos guiones para páginas web y he descubierto que he tenido que usar una combinación de ambos (aunque SendKeys es mucho más complicado que los métodos en la respuesta de @ AleWin).

Aquí está el enlace a la clase SendKeys.