【WINFORM】C#中不通過瀏覽頁面直接登入部落格園的實現

來源:互聯網
上載者:User

在CSDN上看到了這個例子,覺得蠻好玩的,於是拿來改了一下。

這個例子有點像“三人行採集器”中的多使用者自動登入功能或者是像許多瀏覽器中自動填表(填充帳號、密碼)功能。

即不通過瀏覽網頁,直接由用戶端程式來執行一些頁面上的操作(如點擊登入按鈕,登入系統等)。

 

登入部落格園:

 1        private void wbCnblog_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
 2         {
 3             wbCnblog.ScriptErrorsSuppressed = true;
 4 
 5             if ((e.Url.ToString().ToLower().Equals("http://passport.cnblogs.com/login.aspx")))   //部落格園登陸頁面
 6             {
 7                 HtmlElement textboxUserId = this.wbCnblog.Document.GetElementById("tbUserName");
 8                 //如果沒有ID,用 Name 擷取
 9                 //HtmlElement textboxUserId = this.webBrowser1.Document.All["登入使用者名稱文字框的Name"];
10 
11                 HtmlElement textboxPassword = this.wbCnblog.Document.GetElementById("tbPassword");
12                 //如果沒有ID, 用Name 擷取
13                 //HtmlElement textboxPassword = this.webBrowser1.Document.All["登入密碼框的Name"];
14 
15                 HtmlElement buttonSubmit = this.wbCnblog.Document.GetElementById("btnLogin");
16                 //如果沒有ID, 用Name擷取
17                 //HtmlElement buttonSubmit = this.webBrowser1.Document.All["登入按鈕的Name"];
18 
19                 for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
20                 {
21                     ListViewItem item = this.listView_usr.SelectedItems[i];
22                     //this.listView_usr.Items.Remove(item);
23                     string strUsr = item.SubItems[0].Text;
24                     string strPwd = item.SubItems[1].Text;
25                     textboxUserId.InnerText = strUsr;      //填寫帳號
26                     textboxPassword.InnerText = strPwd;   //填寫密碼
27                 }
28 
29 
30                 buttonSubmit.InvokeMember("click");               //觸發提交按鈕的點擊事件登入部落格園
31             }
32         } 

 

登出部落格園:

 1         private void webBrowserQuit()
 2         {
 3             if (null == wbCnblog.Document)
 4             {
 5                 return;
 6             }
 7 
 8             wbCnblog.Document.Cookie = "";
 9 
10             HtmlElementCollection links = wbCnblog.Document.Links;
11             if (null == links)
12             {
13                 return;
14             }
15 
16             foreach (HtmlElement link in links)
17             {
18                 if (null == link.InnerText)
19                 {
20                     continue;
21                 }
22 
23                 if (link.InnerText.Equals("退出"))
24                 {
25                     link.InvokeMember("click"); //激發連結的點擊事件
26                     break;
27                 }
28             }
29         }

 

代碼: cnblogLogin.rar

 

剛才粗心大意,發圖的時候竟然將自己密碼給暴露出來了,無奈只能重新修改密碼了

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.