打印

[asp.net教程] 从c#中访问dhtml dom对象

从c#中访问dhtml dom对象

摘要:本文说明了如何利用microsoft web browser(web浏览器)控件和microsoft document object model (dom)(文档对象模型),用编程的方式来访问web中的每一个元素。
   
  要访问web页面的元素,首先必须引用web browser控件,以便应用其属性、对象、方法和事件。通过调用navigate方法,就可以用web browser来打开页面。但要用程序进行访问,必须等到文档全部下载完了之后才能够进行,即文档的complete事件发生;然后把web browser对象的document属性转换成ihtmldocument2接口对象,这样就可以访问该对象的集合了,比如:link集合,image集合等,这些集合将返回ihtmlelementcollection对象。本文以link集合做例子来进行阐述,返回你指定url页面的全部的链接。
   
  下面就是实现这一功能的简单过程:
   
  1,打开microsoft visual studio .net,新建一个visual c# windows application(windows应用程序),默认名称为form1。

   
  2,在solution explorer(解决方案浏览器)中,用右键点击references(引用)文件夹,然后选择 add reference(添加引用)的选择项,这时会打开add reference(添加引用)对话框。
   
  3,点击.net标签页,双击microsoft.mshtml组件,然后点击ok(确定)按钮。
   
  4,打开toolbox(工具箱),在任何一个工具项上点击右键,选择customize toolbox(自定义工具条),此时,自定义工具条对话框就打开了。
   
  5,点击com components(com 组件)标签页,使microsoft web browser前的复选框选中。点ok(确定)按钮。此时,名为explorer的web browser控件就添加到了工具箱内。
   
  6,选择explorer控件,把它添加到form1窗体内,名称为默认的axwebbrowser1。
   
  7,在browser控件的上面添加textbox,在browser控件的下面添加listbox,名称分别为默认的textbox1和listbox1,textbox1的text属性设置为:http://lucky_elove.www1.dotnetplayground.com/;在textbox后面添加button,text改为“浏览页面”,名称为button1。此时,页面将入下图所示:
   
   
  8,双击button1,在button1_click的事件里输入如下的代码:
   
   private void button1_click(object sender, system.eventargs e)
   {
   object zero = 0;
   object emptystring = "";
   axwebbrowser1.navigate(textbox1.text,ref zero, ref emptystring, ref emptystring, ref emptystring);
   }
  9,切换窗体到设计模式,选择browser控件,点击属性窗口上的“event(事件)”图标,此时web browser事件对话框打开,双击document complete事件,在axwebbrowser1_documentcomplete的事件处理过程里输入如下的代码:
   
   
   private void axwebbrowser1_documentcomplete(object sender,
   axshdocvw.dwebbrowserevents2_documentcompleteevent e)
   {
   ihtmldocument2 htmldocument =(ihtmldocument2) axwebbrowser1.document;
   ihtmlelementcollection links = htmldocument.links;
   
   listbox1.items.clear();
   
   foreach (htmlanchorelementclass el in links)
   {
   listbox1.items.add(el.outerhtml);
   }
   }
  10,在form1.cs文件的顶部输入:
   
   using mshtml;11,按f5,运行表单,点击“浏览页面”按钮,将会看到如下的结果,是不是很爽:)
   
   

TOP

返回顶部
AYBlue

Processed in 0.057346 second(s), 7 queries.

当前时区 GMT+8, 现在时间是 2009-1-10 11:55 京ICP备06054220号

清除 Cookies - 联系我们 - 163K.com - Archiver - WAP