2011-03-30 67 views

回答

3

使用HtmlElement.InvokeMember(「click」)方法。下面是一個使用谷歌「我覺得很幸運」按鈕,表格樣本:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     webBrowser1.Url = new Uri("http://google.com"); 
     webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted; 
    } 

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { 
     if (webBrowser1.Url.Host.EndsWith("google.com")) { 
      HtmlDocument doc = webBrowser1.Document; 
      HtmlElement ask = doc.All["q"]; 
      HtmlElement lucky = doc.All["btnI"]; 
      ask.InnerText = "stackoverflow"; 
      lucky.InvokeMember("click"); 
     } 
    } 
} 
+0

這看起來不錯,我會稍微嘗試一下。 – FreeSnow 2011-03-31 00:50:56

+0

這工作,但我需要添加這個&& e.Url.ToString()!=「about:blank」'到DocumentCompleted if語句 – 2012-08-27 00:46:22

0

這是不是真的一個ID,但你可以通過使用值按鈕做同樣的事情吧。

Dim allelements As HtmlElementCollection = WebBrowser1.Document.All 

For Each webpageelement As HtmlElement In allelements 

If webpageelement.GetAttribute("value") = "Log In" Then 

webpageelement.InvokeMember("click") 

End If 

Next