[转载]vs2005中的WebBrowser控件的简单应用 - 横刀立马者 - 博客园

[转载]vs2005中的WebBrowser控件的简单应用 – 横刀立马者 – 博客园.这个控件被封装了一下,和以前的调用方式稍有不同。

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

方法变了不少。

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

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

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

            
string type = this.cbx_type.Text.ToLower().Trim();
            
if (type == “”)
            
{
                MessageBox.Show(
请选择一个分析对象的类型);
                
return;
            }

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

            }

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

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

                     if (elem.Name.ToLower() == login.Attributes[name].Value)
                     
{
                         
//elem.InvokeMember(“click”);
                         elem.InvokeMember(click);

                     }

对于form的提交,得使用submit


             
else
             
{
                 XmlNode form 
= FindNode(form);
                 htm.Forms[form.Attributes[
name].Value].InvokeMember(submit);
             }

获取值,和赋值类似

                XmlNode userName = FindNode(userName);
                
if (elem.TagName.ToLower() == input && elem.Name.ToLower() == userName.Attributes[name].Value)
                
{
                    elem.InnerText 
= userName.InnerText;
                }

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

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏