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#