HTML对象库简介(Microsoft HTML Object Library -> mshtml.tlb)
2010-12-23 09:59
351 查看
获取网页数据必须使用HTML对象库,可在“引用”窗体中添加对“Microsoft HTML Object Library”的引用。HTML对象库提供了大量的对象,这些对象和各类HTML标记相对应,如熟悉的“<a>”、 “<Table>”、“< body>”和“<form>”标记,一些常用HTML对象的知识点如下所述: (1)HTMLAnchorElement对象:该对象代表网页中超级链接(即“<a>”)标记,其常用属性和方法如下所述:
href属性:该属性用于设置链接的目标。
id属性:该属性用于设置链接的标识。
innerHTML属性:该属性返回链接的HTML代码。
innerText属性:该属性返回链接的文字。
target属性:该属性用于设置链接的方式。
click方法:该方法可模拟单击链接。
(2)HTMLBody对象:该对象代表网页中正文(即“<body>”)标记,其常用属性和方法如下所述:
background属性:该属性返回网页的背景图片。
bgColor属性:该属性返回网页的背景Color。
innerText属性:该属性返回网页包含的所有文字。
(3)HTMLDocument对象:该对象包含网页的整体,如所有的链接、表格对象等,其常用属性和方法如下所述:
anchors属性:该属性返回网页包含的所有链接对象。
applets属性:该属性返回网页包含的Applet插件对象。
body属性:该属性返回网页的正文对象。
forms属性:该属性返回网页包含的所有表单对象。
frames属性:该属性返回网页包含的所有框架对象。
images属性:该属性返回网页包含的所有图片对象。
scripts属性:该属性返回网页包含的所有脚本对象。
(4)HTMLElementCollection对象:该对象可获取各类HTML对象的Collection,如网页的表格或表单的Collection,随后即可遍历该Collection来选择所需的对象,其常用属性和方法如下所述:
length属性:该属性返回Collection的成员数。
item方法:该属性返回Collection中的指定成员。
(5)HTMLTable对象:该对象可获取HTML表格对象,也是获取网页信息的核心,其常用属性和方法如下所述:
cols属性:该属性返回表格的列数。
rows属性:该属性返回表格的行Collection对象。
deleteRow方法:该方法用于删除表格行。
insertRow方法:该方法用于删除表格列。
(6)HTMLTableCell对象:该对象可获取HTML表格中的单元格对象(即“<TD>”标记中包含的内容),在控制表格对象后,需结合该对象来进一步获取所需的网页文字,其常用属性和方法如下所述:
cellIndex属性:该属性返回单元格的编号。
className属性:该属性返回单元格的类名。
colSpan属性:该属性返回单元格的列合并数。
innerHTML属性:该属性返回单元格的HTML代码。
innerText属性:该属性返回单元格包含的文字。
rowSpan属性:该属性返回单元格的行合并数。
vAlign属性:该属性返回单元格的垂直对齐方式。
(7)HTMLTableCol对象:该对象可获取HTML表格中的列对象,其常用属性和方法如下所述:
innerText属性:该属性返回表格列包含的文字。
span属性:该属性返回表格列的合并数。
(8)HTMLTableRow对象:该对象可获取HTML表格中的行对象(即“<TR>”标记中包含的内容),在控制表格对象后,需遍历表格行然后访问特定单元格对象来获取所需的网页文字。该对象的常用属性和方法如下所述:
cells属性:该属性返回行包含的单元格Collection对象。
rowIndex属性:该属性返回行的编号。
vAlign属性:该属性返回行的垂直对齐方式。
VB掌管WebBrowser访问MSHTML成员一点经验
VB掌管WebBrowser访问MSHTML成员虽然较VC++有限,但对大多数的应用问题不大,而且实现过程也很简单.
一.在VB中使用WebBroswer控件
1.在VB中使用Microsoft Internet Controls做浏览器最方便,但远不能尽WebBrowser之所能. VB能够实现的一些功能如下:
>掌管WebBrowser控件实现浏览功能
>自动化IE
>捕捉IE事件
>访问DHTML对象模型
但VB不能使用高级掌管接口实现例如关闭Context Menu和控制下载内容等一些功能.有关用VB对IE编程的知识可以参考微软图书<<Microsoft Internet Exploer 5 程序设计(Programmning Internet Explorer 5)>>的相应部分.
2.调用WebBrowser的ExecWB方法能实现一些额外的功能比如CUT,PASTE和SAVEAS等,包含在OLEMDID枚举表中. 这样我们就可以使WebBrowser具有一些编辑功能,如:
WebBrowser1.ExecWB OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT
可以把HTML格式的内容粘贴进WebBroser中, 这样就可以方便的实现一个HTML剪贴工具,既拷贝字符,又保留格式,NotePad靠边站吧.
二.访问MSHTML成员
1.用VB 访问DHTML模型,实现对HTML元素的操作非常简单易行.引用Micsoft HTML Object Library之后就可以在对象浏览器浏览包含的类及其属性方法.其中主要包含以HTML和IHTML为类名前缀的类,这些类给HTML, DHTML以及脚本(VBSCRIPT, JAVASCRIPT)对象提供定义与接口. 在VB中我们可以用这些类来创建用于访问网页元素的对象实例.而且程序编制与写网页脚本一样简单且相似,所以可以用VBSCRIPT和 JAVASCRIPT的资料作参考(本人在学习VB的这一应用时学通了DHTML),例如:微软图书<<动态超文本标识语言从入门到精通 (Inside Dynamic HTML)>>(一本翻译的很烂的书!). 如果掌握了VC++ 和MFC, MSDN自然也是个好去处, 那儿有关于MSHTML的丰富资料(虽然不能往VB里照搬,我们可以试验VB在许多方面的可行性.)
2.MSHTML类库[Micsoft HTML Object Library]
访问MSHTML要引用MSHTML组件库.在IE5以前,这个库包含在mshtml.dll中,对IE5来说这个类型库被转移到mshtml.tlb 中. 出于某种原因,也许在引用列表里看不到Micsoft HTML Object Library, 不过可以在文件对话框里键入类型库文件名添加引用.
href属性:该属性用于设置链接的目标。
id属性:该属性用于设置链接的标识。
innerHTML属性:该属性返回链接的HTML代码。
innerText属性:该属性返回链接的文字。
target属性:该属性用于设置链接的方式。
click方法:该方法可模拟单击链接。
(2)HTMLBody对象:该对象代表网页中正文(即“<body>”)标记,其常用属性和方法如下所述:
background属性:该属性返回网页的背景图片。
bgColor属性:该属性返回网页的背景Color。
innerText属性:该属性返回网页包含的所有文字。
(3)HTMLDocument对象:该对象包含网页的整体,如所有的链接、表格对象等,其常用属性和方法如下所述:
anchors属性:该属性返回网页包含的所有链接对象。
applets属性:该属性返回网页包含的Applet插件对象。
body属性:该属性返回网页的正文对象。
forms属性:该属性返回网页包含的所有表单对象。
frames属性:该属性返回网页包含的所有框架对象。
images属性:该属性返回网页包含的所有图片对象。
scripts属性:该属性返回网页包含的所有脚本对象。
(4)HTMLElementCollection对象:该对象可获取各类HTML对象的Collection,如网页的表格或表单的Collection,随后即可遍历该Collection来选择所需的对象,其常用属性和方法如下所述:
length属性:该属性返回Collection的成员数。
item方法:该属性返回Collection中的指定成员。
(5)HTMLTable对象:该对象可获取HTML表格对象,也是获取网页信息的核心,其常用属性和方法如下所述:
cols属性:该属性返回表格的列数。
rows属性:该属性返回表格的行Collection对象。
deleteRow方法:该方法用于删除表格行。
insertRow方法:该方法用于删除表格列。
(6)HTMLTableCell对象:该对象可获取HTML表格中的单元格对象(即“<TD>”标记中包含的内容),在控制表格对象后,需结合该对象来进一步获取所需的网页文字,其常用属性和方法如下所述:
cellIndex属性:该属性返回单元格的编号。
className属性:该属性返回单元格的类名。
colSpan属性:该属性返回单元格的列合并数。
innerHTML属性:该属性返回单元格的HTML代码。
innerText属性:该属性返回单元格包含的文字。
rowSpan属性:该属性返回单元格的行合并数。
vAlign属性:该属性返回单元格的垂直对齐方式。
(7)HTMLTableCol对象:该对象可获取HTML表格中的列对象,其常用属性和方法如下所述:
innerText属性:该属性返回表格列包含的文字。
span属性:该属性返回表格列的合并数。
(8)HTMLTableRow对象:该对象可获取HTML表格中的行对象(即“<TR>”标记中包含的内容),在控制表格对象后,需遍历表格行然后访问特定单元格对象来获取所需的网页文字。该对象的常用属性和方法如下所述:
cells属性:该属性返回行包含的单元格Collection对象。
rowIndex属性:该属性返回行的编号。
vAlign属性:该属性返回行的垂直对齐方式。
VB掌管WebBrowser访问MSHTML成员一点经验
VB掌管WebBrowser访问MSHTML成员虽然较VC++有限,但对大多数的应用问题不大,而且实现过程也很简单.
一.在VB中使用WebBroswer控件
1.在VB中使用Microsoft Internet Controls做浏览器最方便,但远不能尽WebBrowser之所能. VB能够实现的一些功能如下:
>掌管WebBrowser控件实现浏览功能
>自动化IE
>捕捉IE事件
>访问DHTML对象模型
但VB不能使用高级掌管接口实现例如关闭Context Menu和控制下载内容等一些功能.有关用VB对IE编程的知识可以参考微软图书<<Microsoft Internet Exploer 5 程序设计(Programmning Internet Explorer 5)>>的相应部分.
2.调用WebBrowser的ExecWB方法能实现一些额外的功能比如CUT,PASTE和SAVEAS等,包含在OLEMDID枚举表中. 这样我们就可以使WebBrowser具有一些编辑功能,如:
WebBrowser1.ExecWB OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT
可以把HTML格式的内容粘贴进WebBroser中, 这样就可以方便的实现一个HTML剪贴工具,既拷贝字符,又保留格式,NotePad靠边站吧.
二.访问MSHTML成员
1.用VB 访问DHTML模型,实现对HTML元素的操作非常简单易行.引用Micsoft HTML Object Library之后就可以在对象浏览器浏览包含的类及其属性方法.其中主要包含以HTML和IHTML为类名前缀的类,这些类给HTML, DHTML以及脚本(VBSCRIPT, JAVASCRIPT)对象提供定义与接口. 在VB中我们可以用这些类来创建用于访问网页元素的对象实例.而且程序编制与写网页脚本一样简单且相似,所以可以用VBSCRIPT和 JAVASCRIPT的资料作参考(本人在学习VB的这一应用时学通了DHTML),例如:微软图书<<动态超文本标识语言从入门到精通 (Inside Dynamic HTML)>>(一本翻译的很烂的书!). 如果掌握了VC++ 和MFC, MSDN自然也是个好去处, 那儿有关于MSHTML的丰富资料(虽然不能往VB里照搬,我们可以试验VB在许多方面的可行性.)
2.MSHTML类库[Micsoft HTML Object Library]
访问MSHTML要引用MSHTML组件库.在IE5以前,这个库包含在mshtml.dll中,对IE5来说这个类型库被转移到mshtml.tlb 中. 出于某种原因,也许在引用列表里看不到Micsoft HTML Object Library, 不过可以在文件对话框里键入类型库文件名添加引用.
相关文章推荐
- HTML对象库简介(Microsoft HTML Object Library -> mshtml.tlb)
- 2. HTML 对象 <object>
- c#中需要引入Microsoft Powerpoint\Word\Excel object library,但是打开引用->COM找不到它
- 无法将类型为“System.__ComObject”的 COM 对象强制转换为类类型“mshtml.HTMLInputElementClass
- 【Object类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- js给<object>视频赋值 延迟加载,解决不能修改的html对象的问题 .
- Java List<Object>去掉重复对象
- Gson序列化与反序列化成员变量为Map<String,Object>的类对象
- JavaScript---Object.defineProperty()与两种属性描述符简介->数据\存取描述符
- Qt的元对象(Meta-Object)系统简介
- 利用标签(Attribute)和Microsoft.Practices.ObjectBuilder构造对象实例
- 使用Map把sql返回的list<Object>转成需要的实体对象
- 遍历所有驱动的名_根据本驱动对象的成员(DriverObject->DriverSection)_对应LDR_DATA_TABLE_ENTRY结构体_双向链表使用
- HTML <hr>标签简介
- Qt的元对象(Meta-Object)系统简介
- HTML <span> 标签简介
- List<Object>装的是对象 排序问题
- MyBatis中对List<Object> 对象List的批处理插入操作
- [EnterpriseLibrary]Microsoft.Practices.ObjectBuilder来创建Singleton对象