2012-06-30 19 views

Odpowiedz

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

Jeśli masz ID użyj:

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

Jeśli masz TagName wykorzystanie tego

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

przeglądarkę internetową DocumentCompleted imprezy

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

Jeśli masz Imię Class użyj:

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

na dodanie tekstu w TextBox wyszukiwania google.com, użyj tego:

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

shdocvw i MSHTML również mogą pochodzić być używany !! – xameeramir

+0

Przepraszam, ale czym jest "webBrowser"? –

+1

@KyleKhalaf Myślę, że miał na myśli "webBrowser1" – hhk

2

Spróbuj następującego kodu:

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

Odpis następującej funkcji w C# formularza:

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

Oprócz korzystania InvokeMember i innych, jeśli strona ma problemy odpowiadać, gdy wywoływana przez ID lub Class, można spróbować użyć {TAB} & {ENTER} przy użyciu klasy SendKeys w .NET. Napisałem wiele skryptów do stron internetowych i odkryłem, że musiałem użyć kombinacji obu (mimo że SendKeys jest znacznie bardziej zawikłany niż metody w odpowiedzi @ AleWina).

Here is the link to the SendKeys class.

Powiązane problemy