2013-04-11 2 views
0

На веб-сайте представлены варианты на основе таблицы. HTML являетсяInvokeMember («click») в элементе управления WebBrowser

<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

+0

требуется логин. как я контактирую с u и даю подробности – Braheen

ответ

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-script запускает – KF2

+0

, но все радио имеют одно и то же имя «getewayIDV», как будет выполняться клик onclick = «setBank (11,0,1)» – Braheen

+0

@ Braheen: Смотрите мое редактирование – KF2

Смежные вопросы