vs2005中的WebBrowser控件的简单应用

简介: 原文:vs2005中的WebBrowser控件的简单应用这个控件被封装了一下,和以前的调用方式稍有不同。事件还是那几个,变化不大。方法变了不少。从网上能查到的资料不多,贴出一些代码来作参考。看看这段代码,可以用来分析网页上的元素的类型的。
原文: vs2005中的WebBrowser控件的简单应用

这个控件被封装了一下,和以前的调用方式稍有不同。

事件还是那几个,变化不大。

方法变了不少。

从网上能查到的资料不多,贴出一些代码来作参考。

看看这段代码,可以用来分析网页上的元素的类型的。

img_a6339ee3e57d1d52bc7d02b338e15a60.gif          private   void  btn_Find_Click( object  sender, EventArgs e)
img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif        
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
img_33d02437d135341f0800e3d415312ae8.gif            
//find all the input controls on the page
img_33d02437d135341f0800e3d415312ae8.gif
            if (this.wb_Show.Document == null)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif
img_33d02437d135341f0800e3d415312ae8.gif                MessageBox.Show(
"请先打开一个要分析的网页");
img_33d02437d135341f0800e3d415312ae8.gif                
return;            
img_105a1e124122b2abcee4ea8e9f5108f3.gif            }

img_33d02437d135341f0800e3d415312ae8.gif            
string type = this.cbx_type.Text.ToLower().Trim();
img_33d02437d135341f0800e3d415312ae8.gif            
if (type == "")
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{
img_33d02437d135341f0800e3d415312ae8.gif                MessageBox.Show(
"请选择一个分析对象的类型");
img_33d02437d135341f0800e3d415312ae8.gif                
return;
img_105a1e124122b2abcee4ea8e9f5108f3.gif            }

img_33d02437d135341f0800e3d415312ae8.gif            
this.lb_InputList.Items.Clear();
img_33d02437d135341f0800e3d415312ae8.gif            HtmlDocument htm 
= this.wb_Show.Document;
img_33d02437d135341f0800e3d415312ae8.gif            HtmlElementCollection all 
= htm.All;
img_33d02437d135341f0800e3d415312ae8.gif            
for (int i = 0; i < all.Count; i++)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{
img_33d02437d135341f0800e3d415312ae8.gif                HtmlElement elem 
= all[i];
img_33d02437d135341f0800e3d415312ae8.gif                
if (elem.TagName.ToLower() == type)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{
img_33d02437d135341f0800e3d415312ae8.gif                    
this.lb_InputList.Items.Add(elem.Name);
img_105a1e124122b2abcee4ea8e9f5108f3.gif                }

img_105a1e124122b2abcee4ea8e9f5108f3.gif            }

img_33d02437d135341f0800e3d415312ae8.gif            MessageBox.Show(
"总共找到" + this.lb_InputList.Items.Count.ToString() + "个符合条件的结果");
img_05dd8d549cff04457a6366b0a7c9352a.gif        }

这一段代码是用来触发按钮事件的,注意使用的是click参数
img_a6339ee3e57d1d52bc7d02b338e15a60.gif                       if  (elem.Name.ToLower()  ==  login.Attributes[ " name " ].Value)
img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif                     
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
img_33d02437d135341f0800e3d415312ae8.gif                         
//elem.InvokeMember("click");
img_33d02437d135341f0800e3d415312ae8.gif
                         elem.InvokeMember("click");
img_33d02437d135341f0800e3d415312ae8.gif
img_05dd8d549cff04457a6366b0a7c9352a.gif                     }

对于form的提交,得使用submit
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif             
else
img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif             
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
img_33d02437d135341f0800e3d415312ae8.gif                 XmlNode form 
= FindNode("form");
img_33d02437d135341f0800e3d415312ae8.gif                 htm.Forms[form.Attributes[
"name"].Value].InvokeMember("submit");
img_05dd8d549cff04457a6366b0a7c9352a.gif             }


获取值,和赋值类似
img_a6339ee3e57d1d52bc7d02b338e15a60.gif                 XmlNode userName  =  FindNode( " userName " );
img_a6339ee3e57d1d52bc7d02b338e15a60.gif                
if  (elem.TagName.ToLower()  ==   " input "   &&  elem.Name.ToLower()  ==  userName.Attributes[ " name " ].Value)
img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif                
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
img_33d02437d135341f0800e3d415312ae8.gif                    elem.InnerText 
= userName.InnerText;
img_05dd8d549cff04457a6366b0a7c9352a.gif                }


可以使用这些简单的应用做一个网页自动登录之类的系统
目录
相关文章
|
JavaScript 前端开发 C#
WPF技术之WebBrowser控件
WPF WebBrowser控件用于在WPF应用程序中嵌入浏览器功能。
284 0
|
Windows
Winform控件Button及控件的鼠标事件介绍
按钮控件是最常用的,用于实现点击完成操作。其主要处理的就是鼠标点击Click事件。由此可以引发出所有与鼠标有关的事件.....
1338 0
Winform控件Button及控件的鼠标事件介绍
|
Web App开发 C#
C#中WebBrowser控件的使用
今天在YouTube上看了一个关于WebBrowser控件用法的小视频,做一下总结。 首先创建一个WinForm程序,拖入一个textbox控件和一个button按钮,然后拖入一个panel控件,如图所示: 拖入panel控件后,找到WebBrowser控件并双击,WebBrowser控件就...
1284 0
|
JavaScript 前端开发
WebBrowser控件的简单应用2
原文:WebBrowser控件的简单应用2 第一个简单应用里面讲述的是如何模拟调用当前网页的元素的事件或者赋值/取值。这次的应用讲述的是1:如何处理弹出新页面的事件(总是在我的浏览器里面现实新页面)2:如何处理window.close事件,让我的浏览器页关闭3:让html页面的js调用我的browse的函数4:如何让我的browse调用html的js函数。
768 0
WebBrowser!
原文:WebBrowser! 我现在先放一些基础的文章在这里,以后再放别的上来官方范例连接http://www.microsoft.com/china/msdn/library/langtool/vcsharp/OvervwWebBrowExp.mspxQ&A    2005年5月21日 0:14:19 Q: 新键入的地址不能在新建好的窗口里打开:A:每个新窗口(或者是Tab页)新建的时候也要新建一个浏览器,然后新建的浏览器的父框架是新建的那个窗口(或者是Tab页)。
878 0