2012-06-30 85 views

回答

42
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添加文本搜索google.com,使用此:

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

shdocvw和mshtml也可以使用! – xameeramir

+0

對不起,'webBrowser'是什麼? –

+1

@KyleKhalaf我認爲他的意思是「webBrowser1」 – hhk

2

請嘗試以下代碼:

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


    } 
0

除了使用InvokeMember和其他人,如果你的網頁有響應時通過IDClass所謂的問題,你可以嘗試使用{TAB} & {ENTER}在.NET中使用SendKeys類。我爲網頁編寫了很多腳本,並且發現我不得不使用兩者的組合(儘管SendKeys比@AlleWin的答案中的方法要複雜得多)。

Here is the link to the SendKeys class.