最近要写一段自动提交表单登录的代码,用户名框和密码框都很好识别,但是登录按钮就不好确定是哪一个,先求一种通用的识别网页上登录按钮的技术,js,asp,c#,c++等等,各种语言都行,只需要一种方法与思路,拜谢了

解决方案 »

  1.   

    type为submit为提交按钮。。可以遍历。
      

  2.   

    type不一定是submit,还有可能是image, button,甚至是超链接
      

  3.   

    绑定到onclick事件中不就解决了么,怎么会不好识别呢
      

  4.   

    怎么加id,我的效果是我的webbrowser打开一个网页,我能通过某种方法找到网页上的登录按钮,如果这个网页有登录按钮的话
      

  5.   

    绑定到onclick消息,怎么实现,而且网页上的每个元素都支持click消息,麻烦详细解释下,谢谢
      

  6.   

    private void button_Click(object sender, EventArgs e)
        {
            webBrowser1.DocumentText = "<a id=link>test</a>'";
        }    void link_Click(object sender, HtmlElementEventArgs e)
        {
            MessageBox.Show("你点击了链接");
        }    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            HtmlElement link = webBrowser1.Document.GetElementById("link");//找到元素
            link.Click += new HtmlElementEventHandler(link_Click);  //添加 点击事件处理函数
        }
      

  7.   

    [Quote=引用 8 楼  的回复:]引用 7 楼  的回复:private void button_Click(object sender, EventArgs e)
    {
    webBrowser1.DocumentText = "<a id=link>test</a>'";
    }void link_Click(object sender, HtmlElementEventArgs e)
    {
    …… = =  我以为你是要获得按钮后点击跳转。。
          我想想
      

  8.   

    为什么非要找提交按钮呢?直接找到form,然后submit就好了啊
      

  9.   

    呃,webbrowser1
    自动提交表单。不知道你webbrowser1中加载的地址,是固定已知的呢,还是未定的?
    如果你是做类似于注册机,灌水机,投票机的话。它们是未定的。就难办点。如果是固定的,你可以通过索引去查找呀
    比如百度首页,先遍历了一次,知道索引是34,则使用:
    MessageBox.Show(webBrowser1.Document.All[34].GetAttribute("value"));//就可以获取它的文本:百度一下
    如果是未定的,那就遍历,以下例子依然是以百度首页为例,判断条件为:是一个input标签,且type="submit"private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                
                int all = webBrowser1.Document.Body.All.Count;
                for (int i = 0; i < all; i++)
                {
                    HtmlElement ele = webBrowser1.Document.All[i];
                    if (ele.TagName.ToLower().ToString() == "input" && ele.GetAttribute("type").ToLower().ToString() == "submit")
                    {
                        MessageBox.Show(ele.GetAttribute("value") + ":索引" + i);
                    }
                }
            }
      

  10.   

    要自动获取其它任何网站的登录按钮。就算了吧。现在有很多是js 提交的。页面 任何一个dom 都可以js 动态添加事件。你只有人为去分析。
    程序不可能判断的了