WebBrowser控件中的InvokeMember(“单击”)
网站显示基于表格的选项供您选择。 HTML
是
我想调用字符串“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; });
你有多个单选按钮输入,你必须循环它们,试试这个:
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"); } } }