2013-04-11 132 views
0

網站顯示一個基於表格的選項供您選擇。 HTMLWebBrowser控件中的InvokeMember(「click」)

<td width="33%" class="cont"><input type="radio" name="gatewayIDV" onclick="setBank(11,0,1)"> 
<td width="33%" class="cont"><input type="radio" name="gatewayIDV" onclick="setBank(3,0,1)"> 

我想要調用字符串的無線電點擊 「setBank(11,0,1)」。我如何?所有電臺名稱相同,但onclick()參數不同。

在JavaScript中有人

這樣做了一些代碼在這裏,但我如何在C#中做到這一點

我試試這個,但從未工作:

if (webBrowser1.DocumentText.IndexOf("setBank(11,0,1)", StringComparison.InvariantCultureIgnoreCase) > 1) 
{ 
    webBrowser1.Document.GetElementById("gatewayIDV").InvokeMember("click"); 
} 

的JavaScript

$("td.cont").each(function(index) { 
     var $this = $(this); 
     var gonext = true; 
     if($this.html().search(searchStr) != -1) { 
      $(document).BookingEngine("setAutomationRunningStatus", 
        !tabData.automationRunning); 
      console.log(index+":"+$this.html()+":"); 
      $this.children("input[name='gatewayIDV']").click(); 
      gonext = false; 
     } 
     return gonext; 
    }); 
+0

你能給我的目標URL測試結果如何呢? – KF2 2013-04-11 17:20:47

+0

網站登錄要求。我怎麼聯繫你,並提供詳細信息 – Braheen 2013-04-11 17:33:01

回答

2

你有多個單選按鈕輸入,你必須循環他們,試試這個:

private void Form1_Load_1(object sender, EventArgs e) 
     { 
      webBrowser1.Navigate("url"); 
     } 


     private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("input")) 
      { 
       if (el.Name == "gatewayIDV") 
       { 
        el.InvokeMember("Click"); 
       } 
      } 
     } 

編輯

對於具體的單選按鈕

private void Form1_Load_1(object sender, EventArgs e) 
    { 
     webBrowser1.Navigate(@"E:\Documents and Settings\Ali\Desktop\ww.html"); 
    } 


    private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("input")) 
     { 
      if (el.Name == "gatewayIDV" && el.OuterHtml.Contains("setBank(11,0,1)")) 
      { 
       el.InvokeMember("Click"); 
      } 
     } 
    } 
+0

@Braheen:我測試它,這個運行java腳本命令 – KF2 2013-04-11 17:35:15

+0

但所有電臺有相同的名稱「getewayIDV」如何點擊將執行onclick =「setBank(11,0,1)」 – Braheen 2013-04-11 17:38:26

+0

@布拉欣:看我的編輯 – KF2 2013-04-11 17:39:43