原文:vs2005中的WebBrowser控件的简单应用

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

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

方法变了不少。

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

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

vs2005中的WebBrowser控件的简单应用-LMLPHP        private void btn_Find_Click(object sender, EventArgs e)
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP        vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP            //find all the input controls on the page
vs2005中的WebBrowser控件的简单应用-LMLPHP            if (this.wb_Show.Document == null)
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP            vs2005中的WebBrowser控件的简单应用-LMLPHP
vs2005中的WebBrowser控件的简单应用-LMLPHP                MessageBox.Show("请先打开一个要分析的网页");
vs2005中的WebBrowser控件的简单应用-LMLPHP                return;            
vs2005中的WebBrowser控件的简单应用-LMLPHP            }
vs2005中的WebBrowser控件的简单应用-LMLPHP            string type = this.cbx_type.Text.ToLower().Trim();
vs2005中的WebBrowser控件的简单应用-LMLPHP            if (type == "")
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP            vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP                MessageBox.Show("请选择一个分析对象的类型");
vs2005中的WebBrowser控件的简单应用-LMLPHP                return;
vs2005中的WebBrowser控件的简单应用-LMLPHP            }
vs2005中的WebBrowser控件的简单应用-LMLPHP            this.lb_InputList.Items.Clear();
vs2005中的WebBrowser控件的简单应用-LMLPHP            HtmlDocument htm = this.wb_Show.Document;
vs2005中的WebBrowser控件的简单应用-LMLPHP            HtmlElementCollection all = htm.All;
vs2005中的WebBrowser控件的简单应用-LMLPHP            for (int i = 0; i < all.Count; i++)
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP            vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP                HtmlElement elem = all[i];
vs2005中的WebBrowser控件的简单应用-LMLPHP                if (elem.TagName.ToLower() == type)
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP                vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP                    this.lb_InputList.Items.Add(elem.Name);
vs2005中的WebBrowser控件的简单应用-LMLPHP                }
vs2005中的WebBrowser控件的简单应用-LMLPHP            }
vs2005中的WebBrowser控件的简单应用-LMLPHP            MessageBox.Show("总共找到" + this.lb_InputList.Items.Count.ToString() + "个符合条件的结果");
vs2005中的WebBrowser控件的简单应用-LMLPHP        }

这一段代码是用来触发按钮事件的,注意使用的是click参数

vs2005中的WebBrowser控件的简单应用-LMLPHP                     if (elem.Name.ToLower() == login.Attributes["name"].Value)
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP                     vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP                         //elem.InvokeMember("click");
vs2005中的WebBrowser控件的简单应用-LMLPHP                         elem.InvokeMember("click");
vs2005中的WebBrowser控件的简单应用-LMLPHP
vs2005中的WebBrowser控件的简单应用-LMLPHP                     }

对于form的提交,得使用submit

vs2005中的WebBrowser控件的简单应用-LMLPHP
vs2005中的WebBrowser控件的简单应用-LMLPHP             else
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP             vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP                 XmlNode form = FindNode("form");
vs2005中的WebBrowser控件的简单应用-LMLPHP                 htm.Forms[form.Attributes["name"].Value].InvokeMember("submit");
vs2005中的WebBrowser控件的简单应用-LMLPHP             }

获取值,和赋值类似

vs2005中的WebBrowser控件的简单应用-LMLPHP                XmlNode userName = FindNode("userName");
vs2005中的WebBrowser控件的简单应用-LMLPHP                if (elem.TagName.ToLower() == "input" && elem.Name.ToLower() == userName.Attributes["name"].Value)
vs2005中的WebBrowser控件的简单应用-LMLPHPvs2005中的WebBrowser控件的简单应用-LMLPHP                vs2005中的WebBrowser控件的简单应用-LMLPHP{
vs2005中的WebBrowser控件的简单应用-LMLPHP                    elem.InnerText = userName.InnerText;
vs2005中的WebBrowser控件的简单应用-LMLPHP                }

可以使用这些简单的应用做一个网页自动登录之类的系统

04-16 18:48