首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InvokeMember(单击)在WebBrowser控件中

InvokeMember(单击)在WebBrowser控件中
EN

Stack Overflow用户
提问于 2013-04-11 17:05:31
回答 1查看 14.5K关注 0票数 0

一个网站显示一个基于表格的选项可供选择。HTML

代码语言:javascript
复制
<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#中这样做的

我试过但从来没有用过:

代码语言:javascript
复制
if (webBrowser1.DocumentText.IndexOf("setBank(11,0,1)", StringComparison.InvariantCultureIgnoreCase) > 1)
{
    webBrowser1.Document.GetElementById("gatewayIDV").InvokeMember("click");
}

JavaScript

代码语言: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;
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-11 17:34:31

您有多个单选按钮输入,您必须循环它们,尝试如下:

代码语言:javascript
复制
 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");
                }
            }
        }

编辑的

用于特定的单选按钮

代码语言:javascript
复制
 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");
            }
        }
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15954739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档