C#通过COM组件操作IE浏览器(二):使用IHTMLDocument3完成登录
第一章介绍了如何打开网站,这一章介绍一下使用IHTMLDocument3完成登录博客园,以下为代码:
- SHDocVw.InternetExplorer oBrowser = new SHDocVw.InternetExplorer();
- ;
- 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();
- 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以及用法.