https://login.taobao.com/member/login.jhtml?f=top&redirectURL=http%3A%2F%2Fwww.taobao.com%2F
这个页面里的“登入”button没有ID也没有name,我怎么才能获取它进行点击呢!
函数如下
HtmlDocument HDoc = webBrowser1.Document;
HtmlElement 登入按钮 = HDoc.All["?"];//这个?的值怎么取啊?这就是我要问的呢!
登入按钮.InvokeMember("Click");

解决方案 »

  1.   

    <button type="submit" class="J_Submit" tabindex="3">登录</button>
     这个是“登入”button的源代码
      

  2.   

    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKZu9q+CgKfwImNCyqon3vfxuJ5zNDO3GMhlQeKG6XuTUEmIe1dOlW6HsWL" />
    这个是没有ID的button,运行之后会有个name和ID的,
      

  3.   

    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKZu9q+CgKfwImNCyqon3vfxuJ5zNDO3GMhlQeKG6XuTUEmIe1dOlW6HsWL" />name="__EVENTVALIDATION" id="__EVENTVALIDATION" 
      

  4.   

    您好,是这样我做的是一个winform,想实现点击这个button的事件。但是获取不到这个button的ID和name,网页上也查看不到,aig003大哥帮帮忙,教我下如果查找这个网页中button的name或者ID
      

  5.   


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function getName() {
                var name = document.getElementById('__EVENTVALIDATION').value;
                alert(name);    
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:button runat="server" text="Button"   OnClientClick="javascript:getName()" />
        </div>
        </form>
    </body>
    </html>
      

  6.   

    winfrom的啊。winform里面好像button的name不可以为空的吧,
      

  7.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function getName() {
                var name = document.getElementById('__EVENTVALIDATION').value;
                alert(name);    
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:button runat="server" text="Button"   OnClientClick="javascript:getName()" />
        </div>
        </form>
    </body>
    </html>
    您好,这段代码是哪来的啊!
    我其实就是想知道一个指定网页的指定button的ID或者name啊!(查看源文件看不到ID和name的)
    我做的其实就是淘宝网自动登入的一个网页外挂程序!谢谢您哦!
      

  8.   

    不会吧,我就是看到原文件 里面的id,和name的啊,
      

  9.   

    啊,我源文件看到的button的代码是这样的!您能告诉我您怎么看的源文件的吗?<BUTTON class=J_Submit tabIndex=3 type=submit>登录</BUTTON>
      

  10.   

    js获取:
                var a = document.getElementsByTagName("BUTTON");
                for (var i = 0; i < a.length; i++) {
                    if(a[i].innerHTML=="登录")
                        alert("找到!");
                }
      

  11.   

     HtmlElement 登入 = HDoc.All["_EVENTVALIDATION"];这样能获取到登入button的元素吗
      

  12.   

    <div class="aspNetHidden"> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKZu9q+CgKfwImNCyqon3vfxuJ5zNDO3GMhlQeKG6XuTUEmIe1dOlW6HsWL" />
    </div>
        <div>
        <input type="submit" name="ctl02" value="Button" onclick="javascript:getName();" />
        </div>你看看这个上面是不是有个type="hidden"的。。那个id和name就是了
      

  13.   

    IE与chrome下面不一样,你用chrome就可以直接看到了,IE是分开的(<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKZu9q+CgKfwImNCyqon3vfxuJ5zNDO3GMhlQeKG6XuTUEmIe1dOlW6HsWL" />)
      

  14.   

    IE下面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head><title></title>
        <script type="text/javascript">
            function getName() {
                var name = document.getElementById('__EVENTVALIDATION').value;
                alert(name);    
            }
        </script>
    </head>
    <body>
        <form method="post" action="WebForm1.aspx" id="form1">
    <div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMjA0OTM4MTAwNGRkoaxnd9SEWN2FxQC6nrPg2jiSAdL4m0c1STueCGQdKAU=" />
    </div><div class="aspNetHidden"> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKZu9q+CgKfwImNCyqon3vfxuJ5zNDO3GMhlQeKG6XuTUEmIe1dOlW6HsWL" />
    </div>

        <div>
        <input type="submit" name="ctl02" value="Button" onclick="javascript:getName();" />
        </div>
        </form>
    </body>
    </html>
      

  15.   

    您好!真的是这样!谢谢
    但是这段代码为什么执行不了呢!!
    HtmlDocument HDoc = webBrowser1.Document;
    HtmlElement 登入 = HDoc.All["_EVENTVALIDATION"];
    登入.InvokeMember("Click");
      

  16.   

    HtmlElement并没有一个方法成员叫“Click”,Click是一个事件
      

  17.   

    HtmlDocument HDoc = webBrowser1.Document;
    HtmlElement 安全控件 = HDoc.All["J_SafeLoginCheck"];
    安全控件.InvokeMember("Click");这段代码是可以实现的哦!
      

  18.   

    用WebBrowser感觉应该不是做什么好事吧
      

  19.   

    aig003
    大哥!你QQ多少啊!或者加我下哦!200806996!
      

  20.   

    你这个怎么会是winform呢? 网页里 button有两种,一种是asp中的,在.net下也能沿用;其触发的事件是提交,提交了<form acrion="">的数据;还有一种是标准的,需要id或者name后台调用的。
      

  21.   

    您好,是这样的,我想用winform做了网页的辅助程序,想实现自动点击网页某个button的功能。但是button没有name和ID好像这个button是一个表单,type=submit。
      

  22.   

    <button type="submit" class="J_Submit" tabindex="3">登录</button>
      

  23.   

                HtmlDocument HDoc = webBrowser1.Document;
                HtmlElementCollection buttonList = HDoc.GetElementsByTagName("BUTTON");
                foreach (HtmlElement button in buttonList)
                {
                    if (button.InnerText == "登录" || button.GetAttribute("class") == "J_Submit")
                    {
                        MessageBox.Show("我找到啦:" + button.OuterHtml);
                    }
                }
    .GetAttribute("class") 
    Attribute里面或许是 className,反正这个判断自己可以加或减
      

  24.   

    触发submit就可以了,网上给你找的代码。
    ----------------------
    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

    //webBrowser完成页面加载:
     if (webBrowser1.Url.ToString() == "http://10.245.*.*/") //submit后还会加载一次,而所加载的页面“注销”按钮的name也是submit,汗,所以这要判断下
     {
      HtmlDocument doc = webBrowser1.Document; //获取document对象
      HtmlElement btn = null;
      foreach (HtmlElement em in doc.All) //轮循
      {
       string str = em.Name;   if ((str == "username") || (str == "password") || (str == "submit")) //减少处理
       {
        switch (str)
        {
        case "username": em.SetAttribute("value", "****"); break; //赋用户名
        case "password": em.SetAttribute("value", "****"); break; //赋密码
        case "submit": btn = em; break; //获取submit按钮
        default: break;
        }
       }
      }
      btn.InvokeMember("click"); //触发submit事件
      //doc.Forms["LoginForm"].InvokeMember("submit");
     }
     else //成功登陆后关闭
     {
      this.Close();
     }
      

  25.   

    没用啊。submit这种按钮没有ID和name啊,没有name,  string str = em.Name;
    这一句就没效果啊!
      

  26.   

         楼主的问题我没看明白,是在winform程序里有一个button,点button的时候打开一个网页出发该网页里的一个按钮吗?
      

  27.   

    没有name, string str = em.Name;
    这一句就没效果啊!
    ---------------------------
    你不会找Type吗?