C#通過COM組件操作IE瀏覽器(二):使用IHTMLDocument3完成登錄


第一章介紹了如何打開網站,這一章介紹一下使用IHTMLDocument3完成登錄博客園,以下為代碼:

SHDocVw.InternetExplorer oBrowser = new SHDocVw.InternetExplorer();
            object objFlags = 2;
            object objTargetFrameName = "_self";
            object objPostData = "";
            object objHeaders = "";
            oBrowser.Visible = true;
            oBrowser.Navigate("https://passport.cnblogs.com/user/signin", ref objFlags, ref objTargetFrameName, ref objPostData, ref objHeaders);
            while (true)
            {
                Thread.Sleep(1000);
                if (oBrowser.ReadyState == SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE)
                    break;
            }
            IHTMLDocument3 doc3 = (IHTMLDocument3)oBrowser.Document;
            IHTMLInputElement txtUserName = (IHTMLInputElement)doc3.getElementById("input1");
            txtUserName.value = "你的用戶名";
            IHTMLInputElement txtPassWord = (IHTMLInputElement)doc3.getElementById("input2");
            txtPassWord.value = "你的密碼";
            doc3.getElementById("signin").click();

使用以上代碼就成功登錄到博客園了,下面整理一下IHTMLDocument3以及相關的一些方法和屬性:

IHTMLDocument3 方法 說明
attachEvent

從IE11開始,使用addEventListener。將指定的函數綁定到一個事件,以便每當事件在對象上觸發時,該函數被調用。

createDocumentFragment 創建一個新文檔並返回一個指向新創建的文檔的指針。
createTextNode

從指定的值創建一個文本字符串。

detachEvent 從事件中取消綁定指定的功能,以使該功能在事件觸發時停止接收通知。
getElementById 返回對具有指定值id屬性的第一個對象的引用。
getElementsByName 根據name屬性的值獲取對象集合。
getElementsByTagName 根據指定的元素名稱檢索對象的集合。
recalc 此元素已過時,不再使用。重新計算當前文檔中的所有動態屬性。
releaseCapture

從當前文檔中的對象中刪除鼠標捕獲。

IHTMLDocument3屬性與事件 說明
baseUrl  
dir 設置或檢索指示對象的讀取順序的值。
documentElement 獲取對文檔根節點的引用。
enableDownload 設置啟用下載
inheritStyleSheets 暫未說明
onbeforeeditfocus 設置焦點之前
oncellchange 當數據來源發生變化時
oncontextmenu 當按下鼠標右鍵出現菜單或通過鍵盤觸發頁面菜單時
onpropertychange 改變屬性時
onrowsdelete 當前數據記錄被刪除時
onrowsinserted 當前數據源將要插入新數據時
uniqueID 檢索對象的自動生成的唯一標識符。
onstop 停止或離開時
ondatasetchanged 數據源發生變化時
ondatasetcomplete 當數據接收完成時
ondataavailable 當數據源的全部有效數據讀取完畢時
這一章介紹了IHTMLDocument3,並且使用IHTMLDocument3完成了登錄,下一章介紹IHTMLDocument2以及用法.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM