当前位置:编程学习 > C#/ASP.NET >>

C#获取HTML页面登陆文本框元素

如何在没有ID,name,的情况下用C#获取到页面的登陆文本框?从而可以设置它的值。
正在做一个自动填写登陆密码的winform程序。但是发现只有一些网站的登陆框会有ID,可以直接用WebBroswer的做,而有一些却找不到元素的ID,,,求大神指点,,初学不懂 --------------------编程问答-------------------- html可以记录上次登录的信息到cookie里面,第一次无论如果都要输入才行。  --------------------编程问答-------------------- webform这样做是没有问题的,winform不知道用什么办法?

webForm
Response.Cookies["LoginName"].Value = loginName;
Response.Cookies["LoginName"].Expires = DateTime.Now.AddDays(15);  ->>15过期 --------------------编程问答-------------------- web就可以,winform还真没试过不知道id,name情况下怎么获取控件 --------------------编程问答-------------------- 建议大家用chrome来分析网页的元素代码。
这个按钮没有ID,也没有name,所以不是特别好处理,所以我的思路是遍历所有的元素,然后根据其他项来匹配到这个按钮。如果有ID,或者name就可以用这个方法: webBrowser1.Document.GetElementById("login_submit_btn")
 
我的代码:
 private void button1_Click(object sender, EventArgs e)
        {
            HtmlDocument document = this.webBrowser1.Document;//获取控件中的html文档,类似于网页中的document对象。
            HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("a");//根据标签<a>来遍历元素。
            foreach (HtmlElement em in elems)                   //遍历所有元素
            {
                if (em.GetAttribute("title") == "加关注")       //根据title来匹配,因为加关注只有一个按钮
                {
                    em.InvokeMember("click");
                }
            }
        }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,