2011-03-30 71 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