天天看點

C# 關于winFrom控制網頁的自動登入的問題(網頁刷屏器的制作原理)

主要操作:使用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。