2012-05-04 32 views
4

我基本上有一個正在瀏覽並自動完成某些表單的網頁瀏覽器控件,但到目前爲止我已經很輕鬆,但是我已經獲得了一個表單沒有標有ID或名稱的「提交」或「重置」按鈕。 (我需要能夠同時點擊)例:找到並點擊WebBrowser的HTML代碼中沒有ID的按鈕

提交按鈕

<td align="right" valign="middle" class="LeftSide" style="padding-right: 20; padding-top: 10;"><button class="Search" type="submit" tabindex="7"><b>Search</b></button></td> 

復位按鈕

<td align="left" valign="middle" class="RightSide" style="padding-left: 20; padding-top: 10;" colspan="2"><button class="Search" type="reset" tabindex="8"><b>Clear</b></button></td> 

我將如何尋找這些按鈕的的的HTMLDocument和點擊它們?嵌套的時候,如下:

<body><table><form><tr><td><button>'s 

回答

4

類似的東西,也許?

public void ClickButton(string type) { 
    var button = myWebBrowser.Document.GetElementsByTagName("button") 
      .Cast<HtmlElement>() 
      .FirstOrDefault(m => m.GetAttribute("type") == type); 
    if (button != null) 
     button.InvokeMember("click"); 
} 

使用

ClickButton("reset"); 
ClickButton("submit"); 
2
<td align="right" valign="middle" class="LeftSide" style="padding-right: 20; padding-top: 10;"><input type="submit" value="Submit" /></td> 

<td align="left" valign="middle" class="RightSide" style="padding-left: 20; padding-top: 10;" colspan="2"><input type="reset" value="Reset" /></td> 


HtmlElementCollection elc = this.webBrowser1.Document.GetElementsByTagName("input"); 
foreach (HtmlElement el in elc) 
{ 
    if (el.GetAttribute("type").Equals("submit")) 
    { 
     el.InvokeMember("click"); 
    } 
} 
+0

對不起,增加C#代碼之前,我已經發布。請檢查現在編輯的代碼。 – Ponmalar