主要操作:使用WebBrowser 自动填表、甚至自动提交的功能:假设有一个最简单的登录页面,输入用户名密码,点“登录”按钮即可登录。已知用户名输入框的id(或Name,下同)是username,密码输入框的id是password,“登录”按钮的id是submitbutton,那么我们只需要在webBrowser的DocumentCompleted事件中使用下面的代码即可: webBrowser1.Navigate("http://locla/Login.aspx");//登录界面
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { HtmlElement username = webBrowser1.Document.All["Tusername"]; HtmlElement password = webBrowser1.Document.All["Tpassword"]; HtmlElement Submit = webBrowser1.Document.All["btnok"]; if (tbUserid == null || tbPasswd == null || btnSubmit == null) return;
username .SetAttribute("value", "admin"); password .SetAttribute("value", "000000"); Submit .InvokeMember("click"); // }
这里我们用SetAttribute来设置文本框的“value”属性,用InvokeMember来调用了按钮的“click”方法。因为不同的Html元素,其拥有的属性和方法也不尽相同,所以.Net 2.0提供了统一的HtmlElement来概括各种Html元素的同时,提供了这两个方法以调用元素特有的功能。关于各种Html元素的属性和方法一览,可以查阅MSDN的DHTML Reference。
