1. 属性
属性 | 说明 |
Application | 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser |
Parent | 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口 |
Container | 返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同 |
Document | 为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则 |
TopLevelContainer | 返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true |
Type | 返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返 |
Left | 返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离 |
Top | 返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离 |
Width | 返回或设置WebBrowser窗口的宽度,以像素为单位 |
Height | 返回或设置WebBrowser窗口的高度,以像素为单位 |
LocationName | 返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源 |
LocationURL | 返回WebBrowser当前正在显示的资源的URL |
Busy | 返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true |
2. 方法
方法 | 说明 |
GoBack | 相当于IE的“ 后退 ”按钮,使你在当前历史列表中后退一项 |
GoForward | 相当于IE的“ 前进 ”按钮,使你在当前历史列表中前进一项 |
GoHome | 相当于IE的“ 主页 ”按钮,连接用户默认的主页 |
GoSearch | 相当于IE的“ 搜索 ”按钮,连接用户默认的搜索页面 |
Navigate | 连接到指定的URL |
Refresh | 刷新当前页面 |
Refresh2 | 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表, 该表定义在ExDisp.h中,可以指定的不同值如下: |
Stop | 相当于IE的“ 停止 ”按钮,停止当前页面及其内容的载入 |
3. 事件
Private Events | Description |
BeforeNavigate2 | 导航发生前激发,刷新时不激发 |
CommandStateChange | 当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward 菜单项或按钮 |
DocumentComplete | 当整个文档完成是激发,刷新页面不激发 |
DownloadBegin | 当某项下载操作已经开始后激发,刷新也可激发此事件 |
DownloadComplete | 当某项下载操作已经完成后激发,刷新也可激发此事件 |
NavigateComplete2 | 导航完成后激发,刷新时不激发 |
NewWindow2 | 在创建新窗口以前激发 |
OnFullScreen | 当FullScreen属性改变时激发。该事件采用VARIENT_BOOL的一个输 入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE) |
OnMenuBar | 改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。 VARIANT_TRUE是可见,VARIANT_ FALSE是隐藏 |
OnQuit | 无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发 |
OnStatusBar | 与OnMenuBar调用方法相同,标示状态栏是否可见。 |
OnToolBar | 调用方法同上,标示工具栏是否可见。 |
OnVisible | 控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数 |
StatusTextChange | 如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏 |
TitleChange | Title有效或改变时激发 |
{IHTMLDocument2 方法:}write //写入
writeln //写入并换行
open //打开一个流,以收集 document.write 或 document.writeln 的输出
close //关闭并输出用 document.open 方法打开的流
clear //清空文档中所有元素, 可能暂时不支持
queryCommandSupported //是否支持指定命令
queryCommandEnabled //指定命令是否有效
queryCommandState //是否设置了指定命令
queryCommandIndeterm //指定命令是否处于不确定状态
queryCommandText //命令
queryCommandValue //命令值
execCommand //执行命令
execCommandShowHelp //命令帮助信息
createElement //建立元素
elementFromPoint //指定坐标下的元素
createStyleSheet //创建一个样式表
{IHTMLDocument2 属性:}
all //所有 HTML 元素的集合
images //所有 image 对象的集合
applets //所有 applet 对象的集合
links //所有 link 对象的集合
forms //所有 form 对象的集合
anchors //所有 anchor 对象的集合
scripts //所有 script 对象的集合
frames //所有 frame 对象的集合, 这应该和 window.frames 是一样的
embeds //所有 embed 对象的集合
plugins //所有 plugin 对象的集合
styleSheets //样式表集合
title //网页标题
body //body 对象
activeElement //当前具有输入焦点的元素
designMode //设计模式, 可选值: Inherit On Off
selection //当前选择
readyState //页面读取状态: uninitialized、loading、loaded、interactive、completed
linkColor //链接的颜色
alinkColor //活动链接的颜色
vlinkColor //已访问过的链接的颜色
bgColor //背景颜色
fgColor //文本颜色
referrer //返回载入当前页面的页面的 URL
location //同 window.location
lastModified //返回文档最后修改的日期和时间
url //返回当前文档的 URL
domain //返回域名
cookie //返回文档相关的 cookie
expando //可设置与获取的布尔值, 是否允许扩展
charset //获取文档的字符集名称
defaultCharset //获取浏览器默认的字符集名称
mimeType //文档类型
fileSize //文档大小, 单位字节, 用字符串表示
fileCreatedDate //文档建立时间 ???
fileModifiedDate //文档修改时间 ???
fileUpdatedDate //文档更新时间 ???
security //文档安全
protocol //传输协议
nameProp //文件标题, 好像同 Title
parentWindow //父窗口
Script //
{IHTMLDocument2 事件:}
onhelp //用 F1 获取帮助时
onclick //单击时
ondblclick //双击时
onmousedown //鼠标点下时
onmouseup //鼠标抬起时
onmousemove //鼠标移动时
onmouseover //鼠标进入时
onmouseout //鼠标离开时
onkeypress //按键时
onkeyup //键按住时
onkeydown //键抬起时
onreadystatechange //状态改变时
onrowexit //当前数据源的数据将要发生变化时
onrowenter //当前数据源的数据发生变化并且有新的数据时
ondragstart //开始拖动时
onselectstart //开始选择时
onbeforeupdate //更新前
onafterupdate //更新后
onerrorupdate //更新错误时
{IHTMLDocument3 方法:}
recalc //重新获取文档中的全部动态属性
releaseCapture //释放文档中对象的鼠标捕捉
{IHTMLDocument3 属性:}
createTextNode //建立文本
attachEvent //绑定事件
detachEvent //取消事件绑定
createDocumentFragment//创建新文档
getElementsByName //返回带有指定 name 的对象集合
getElementById //返回指定 id 的第一个对象的引用
getElementsByTagName //返回指定标签的对象集合
documentElement //获取文档根部节点, 也就是 HTML 节点
uniqueID //获取对象的唯一标识符
dir //
parentDocument //
enableDownload
baseUrl //基础地址
{IHTMLDocument3 事件:}
onrowsdelete //当前数据记录被删除时
onrowsinserted //当前数据源将要插入新数据时
oncellchange //当数据来源发生变化时
ondatasetchanged //数据源发生变化时
ondataavailable //当数据接收完成时
ondatasetcomplete //当数据源的全部有效数据读取完毕时
onpropertychange //改变属性时
oncontextmenu //当按下鼠标右键出现菜单或通过键盘触发页面菜单时
onstop //停止或离开时
{IHTMLDocument4 方法:}
focus //获得输入焦点
hasFocus //是否拥有输入焦点
createDocumentFromUrl //下载指定网页并返回其 IHTMLDocument2 接口
CreateEventObject //生成当使用 fireEvent 方法时用于传递事件相关信息的 event 对象 ???
FireEvent
{IHTMLDocument4 属性:}
createRenderStyle //建立 IHTMLRenderStyle 接口
namespaces //
media //
URLUnencoded //获取去除字符编码的 URL
{IHTMLDocument4 事件:}
onselectionchange //改变选择时
oncontrolselect //好像是框选时
{IHTMLDocument5 方法:}
createAttribute //建立指定 name 的属性
createComment //建立注释
{IHTMLDocument5 属性:}
doctype //文档类型
implementation_ //获取 IHTMLDOMImplementation 接口
compatMode //兼容模式, 返回 BackCompat、CSS1Compat 等
{IHTMLDocument5 事件:}
onmousewheel //旋转鼠标滚动轮时
onfocusin //获取输入焦点时
onfocusout //失去输入焦点时
onactivate //激活时
ondeactivate //当前对象变为父文档的其他对象时
onbeforeactivate //onactivate 前
onbeforedeactivate //ondeactivate 前
这个其实就是HTMLDocument对象接口:
Document 对象集合
all[] 提供对文档中所有 HTML 元素的访问。
anchors[] 返回对文档中所有 Anchor 对象的引用。
applets 返回对文档中所有 Applet 对象的引用。
forms[] 返回对文档中所有 Form 对象引用。
images[] 返回对文档中所有 Image 对象引用。
links[] 返回对文档中所有 Area 和 Link 对象引用。
Document 对象属性
body 提供对 <body> 元素的直接访问。对于定义了框架集的文档,该属性引用最外层的 <frameset>。
cookie 设置或返回与当前文档有关的所有 cookie。
domain 返回当前文档的域名。
lastModified 返回文档被最后修改的日期和时间。
referrer 返回载入当前文档的文档的 URL。
title 返回当前文档的标题。
URL 返回当前文档的 URL。
Document 对象方法
close() 关闭用 document.open() 方法打开的输出流,并显示选定的数据。
getElementById() 返回对拥有指定 id 的第一个对象的引用。
getElementsByName() 返回带有指定名称的对象集合。
getElementsByTagName() 返回带有指定标签名的对象集合。
open() 打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。
write() 向文档写 HTML 表达式 或 JavaScript 代码。
writeln() 等同于 write() 方法,不同的是在每个表达式之后写一个换行符。
参考参考这个:
----------
主题:用户名,密码提交到网页上的登录页:
首先在程序中加入Webbrowser控件
假设你的HTML页面表单代码如下:
<form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser">
<p>请填写下面表单注册(*项为必添项)</p>
<p>*姓名<input type="text" name="Name" size="20"></p>
<p>*昵称<input type="text" name="NickName" size="20"></p>
<p>电子邮件<input type="text" name="EMail" size="20"></p>
<p>*密码<input type="text" name="Password" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
注意其中元素的type、Name、value属性。然后VB中的代码如下:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://chen/chat/newuser.htm"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser1.Document
List1.Clear
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
List1.AddItem vTag.Name
Select Case vTag.Name
Case "Name"
vTag.Value = "IMGod"
Case "NickName"
vTag.Value = "IMGod"
Case "Password"
vTag.Value = "IMGodpass"
Case "EMail"
vTag.Value = "IMGod@paradise.com"
End Select
ElseIf vTag.Type = "submit" Then
vTag.Click
End If
End If
Next i
End Sub
点击Command1就可以自动填表并提交。
-------------
这里还有一种获得页面元素的方式:
{{
WebBrowser1.Document.getElementsByName("页面元素名")
}}
页面元素名包括按钮,连接等,一个例子: