第一章介紹了如何打開網站,這一章介紹一下使用IHTMLDocument3完成登入部落格園,以下為代碼:
- SHDocVw.InternetExplorer oBrowser = new SHDocVw.InternetExplorer();
- ;
- object objTargetFrameName = "_self";
- object objPostData = "";
- object objHeaders = "";
- oBrowser.Visible = true;
- oBrowser.Navigate("", ref objFlags, ref objTargetFrameName, ref objPostData, ref objHeaders);
- while (true)
- {
- Thread.Sleep();
- 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以及用法.