C#通过COM组件操作IE浏览器(一):打开浏览器跳转到指定网站
简介Internet Explorer对象模型
1.属性
属性 | 类型 | 描述 |
Application | Object | 返回对Internet Explorer对象的引用。 |
Busy | Boolean | 返回一个布尔值,指示Internet Explorer是否正在忙于下载数据或执行某些其他活动。True表示忙碌 假指示不忙。 |
Container | Object | 返回对Internet Explorer的容器/父级的引用(如果有的话)。 |
Document | Object | 返回对活动文档的引用(如果有的话)。 |
FullName | String | 返回Internet Explorer可执行文件的完整路径名。(例如:C:\ PROGRAM FILES \ Plus!\ MICROSOFT INTERNET \ IEXPLORE.EXE) |
FullScreen | Boolean | 返回或设置Internet Explorer窗口模式。True表示窗口最大化,状态栏,工具栏,菜单栏和 标题栏都被隐藏。 |
Height, Width | Long | 返回或设置Internet Explorer窗口的维度(以像素为单位)。 |
HWND | Long | 返回当前Internet Explorer窗口的窗口句柄MsgBox。 |
Left, Top | Long | 返回或设置Internet Explorer窗口相对于屏幕/容器的位置(以像素为单位)。 |
LocationName | String | 返回当前正在查看的文件的名称。(例如:Microsoft Corporation) |
LocationURL | String | 返回当前正在查看的文件的完整网址。(例如:http://www.microsoft.com/) |
MenuBar | Boolean | 返回或设置显示如果菜单栏。True表示菜单栏可见; False表示它是隐藏的。 |
Name | String | 返回Internet Explorer应用程序的名称。(例如:Microsoft Internet Explorer) |
Parent | Object | 返回对Internet Explorer的容器/父级的引用。 |
Path | String | 返回Internet Explorer应用程序的完整路径名。(例如:C:\ PROGRAM FILES \ PLUS!\ MICROSOFT INTERNET \) |
StatusBar | Boolean | 返回或设置状态栏的显示。True表示状态栏是可见的; False表示它是隐藏的。 |
StatusText | String | 返回或设置状态栏的文本。 |
ToolBar | Long | 返回或设置显示哪个工具栏。例如,0表示没有工具栏; 1表示默认工具栏。 |
TopLevelContainer | Boolean | 返回一个布尔值,指示当前对象是否是顶级容器。True表示对象是顶级容器; False表示不是。 |
Type | String | 返回Internet Explorer中的文档类型。 |
Visible | Boolean | 返回或设置Internet Explorer的显示。True表示Internet Explorer可见; False表示它是隐藏的。 |
2.方法
方法 | 描述 | 用法 |
ClientToWindow(pcx, pcy) | 将客户端大小转换为窗口大小。 |
|
GetProperty(szProperty) | 返回指定属性的值。szProperty被定义为一个字符串。 |
|
GoBack, GoForward | 用于根据历史列表中的值导航Internet Explorer。 | browser.GoBack |
GoHome, GoSearch | 用于浏览Internet Explorer。 | browser.GoHome |
Navigate (URL [, Flags] [, TargetFrameName] [, PostData] [, Headers]) | 跳转到指定的URL。是以下常量或值之一:navOpenInNewWindow = 1 navNoHistory = 2 navNoReadFromCache = 4 navNoWriteToCache = 8 TargetFrameName是一个字符串,用于指定将显示结果的框架的名称。PostData是使用HTTP post事务发送的数据。标题是指定要发送的HTTP标头的值。 | Flags browser.Navigate ("http://www.vb-bootcamp.com") |
PutProperty(szProperty, vtValue) | 将属性设置为指定的vtValue)值。szProperty被定义为一个字符串,并被定义为一个变体。 |
|
Quit | 退出Internet Explorer应用程序并关闭打开的文档。 | browser.Quit |
Refresh | 刷新当前文档。 |
|
Refresh2 [Level] | 刷新当前文档。级别是以下常量或值之一:REFRESH_NORMAL = 0 REFRESH_IFEXPIRED = 1 REFRESH_CONTINUE = 2 REFRESH_COMPLETELY = 3 | browser.Refresh2(0) browser. Refresh2(REFRESH_NORMAL) |
Stop | 停止加载当前文档。 |
|
下面开始实战:
1、首先添加com组件的引用
- 加入对Microsoft Internet Controls的引用;
- 加入对Microsoft HTML Object Library的引用;(其实就是mshtml)
2、创建InternetExplorer对象,打开浏览器
以下代码段跳转到博客园登录页:
SHDocVw.InternetExplorer oBrowser = new SHDocVw.InternetExplorer(); object objFlags = 1; 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);
第一章打开浏览器,跳转网站的部分介绍到这里,下一章介绍使用ihtmldocument2,ihtmldocument3进行登录等一些操作.