用C#语言编写一个Windows Form应用程序,实现自动登录一个特定的页面。
下面以自动登录:http://bm.chinaz.com/Web/Login.aspx 作为例子,讲解如何模拟手工输入用户名密码并点击登录,实现自动登录。
新建一个C#应用程序,给应用程序起个名字,如AutoLogin,在窗体中添加一个TextBox、Button,及WebBrowser控件,并为WebBrowser控件添加webBrowser1_DocumentCompleted事件。
按钮的点击事件以及webBrowser1_DocumentCompleted的代码如下:
private void btn_Add_Click(object sender, EventArgs e) { string sUrl = txb_Url.Text.Trim(); if (sUrl.Length > 0) { webBrowser1.Navigate(sUrl); } } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { HtmlElement ClickBtn = null; if (e.Url.ToString().ToLower().IndexOf("login.aspx") > 0) { HtmlDocument doc = webBrowser1.Document; for (int i = 0; i < doc.All.Count; i++) { if(doc.All[i].TagName.ToUpper().Equals("INPUT")) { switch(doc.All[i].Name) { case "txtUserName": doc.All[i].InnerText = "xxxx@yy.com"; // 用户名 break; case "txtPassword": doc.All[i].InnerText = "zzzzzz"; // 密码 break; case "btnSubmit": ClickBtn = doc.All[i]; break; } } } ClickBtn.InvokeMember("Click"); // 点击“登录”按钮 } }
当在TextBox中输入http://bm.chinaz.com/Web/Login.aspx 并点击按钮后,就可以实现页面的自动登录了。