C#使用微软网页浏览器控件

本文介绍如何在C#中使用微软网页浏览器控件及DOM处理网页元素。通过实例展示如何加载网页并获取页面链接,适用于网页爬虫或自动化测试等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

C#使用微软网页浏览器控件

 

原文见:http://blog.csdn.net/Felomeng/archive/2007/05/18/1614411.aspx

 摘要: 这个小示例展示了如何使用微软网页浏览器以及微软 文档对象模型(DOM)去处理任意网页中的元素。

为了在编程中使用DOM,需要把网页浏览器和与它的方法、属性、事件相关的DOM添加到你的C#工程中。通过调用Navigate方法打开Url地址指向的文档。打开网页需要一定时间,所以必须等待打开事件完成。通过IHTMLDocument2界面对象将浏览器文档格式化从而得到常见的网页形式。可以对集合进行相应的操作,如点击一个链接或图片集合,就会返回一个IHTMLElementCollection对象。

在这个小示例中,您将用网页浏览器和DOM来得到和显示一个网页中的所有内容。

在编程中访问 DOM

  1. 建立一个新的Visual C#窗口应用程序工程,并命名为DOM

窗体的名称使用默认名Form1

  1. 在解决方案资源管理器中,右键单击本工程,在弹出菜单中选择添加引用。

弹出“添加引用对话框”

  1. 打开.NET页双击名为Microsoft.mshtml的组件。
  2. 单击确定。

微软DOM的相应方法、事件和属性都添加到了这个工程。

鼠标向左滑动,打开工具箱,右键单击任意工具,在弹出菜单中选择添加/移除项

弹出添加/移除项对话框

  1. 打开COM组件页选中微软网页浏览器一项前面的多选框。

带有标签的浏览器控件就出现在工具箱中刚才单击位置所在页了。

  1. 选择这个浏览器并单击窗体。

窗体上就会添加一个名为axWebBrowser1的网页浏览器。

  1. 在这个浏览器的上方添加一个TextBox组件,下方添加一个ListBox组件,这两个组件都使用它们的默认名称:textBox1listBox1
  2. listBox1右方添加一个Button组件。将ButtonText属性改为"提交",名称也使用默认:button1

最后得到下图所示样式的窗口:

 

  1. 双击button1

方法button1_Click就会自动添加到工程中。

  1. button1_Click法中使用下面黑体的代码:

11.       private void button1_Click(object sender, System.EventArgs e)

12.       {

13.          object Zero = 0;

14.          object EmptyString = "";

15.          axWebBrowser1.Navigate(textBox1.Text,

16.          ref Zero, ref EmptyString, ref EmptyString, ref EmptyString);

}

  1. 回到窗体设计器界面,选中浏览器组件,单击属性窗口中的事件图标。

我们看到网页浏览器的事件列表。

  1. 双击Document Complete事件

axWebBrowser1_DocumentComplete事件处理过程就添加到工程了。

  1. 在窗体Form1的代码页的开头处添加下面黑体的引用:

20.       using System.Data;

using mshtml;

  1. 在事件处理过axWebBrowser1_DocumentComplete添加如下黑体的代码:

22.       private void axWebBrowser1_DocumentComplete(

23.          object sender,

24.          AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)

25.       {

26.          IHTMLDocument2 HTMLDocument =

27.             (IHTMLDocument2) axWebBrowser1.Document;

28.          IHTMLElementCollection links = HTMLDocument.links;

29.        

30.          listBox1.Items.Clear();

31.        

32.          foreach (HTMLAnchorElementClass el in links)

33.          {

34.             listBox1.Items.Add(el.outerHTML);

35.          }

}

  1. F5键编译并启动程序。

Form1窗体就出现了。

  1. 在文本框中输入一个Url地址,如:http://blog.csdn.net/Felomeng,然后单击提交

网页就会显示在浏览器中,相应的元素会显示在下面的列表框中,如下面截图所示:

 

更多信息尽在:

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值