你如何点击浏览器控件中的button?

例如,使用代码和没有用户input,我怎么会让我的程序点击谷歌上的“search”button(假设我已经填入search框,并在google.com)

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

如果你有一个ID使用这个:

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

如果你有TagName使用这个

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

在Web浏览器DocumentCompleted事件中

 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"); 

如果你有名字Class使用这个:

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

要在TextBox添加文本来searchgoogle.com,请使用以下命令:

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

试试下面的代码:

 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 { } 

在你的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"); } 

除了使用InvokeMember ,如果您的网页在被IDClass调用时出现问题,您可以使用.NET中的SendKeys类尝试使用{TAB}{ENTER} 。 我写了很多网页的脚本,发现我不得不使用两者的组合(尽pipeSendKeys比@AleWin的答案中的方法要复杂得多)。

这里是SendKeys类的链接。