WPF WebBrowser中的Document 使用方法

首先要引入Microsoft.mshtml.dll 地址是C:\ProgramFiles\Microsoft.NET\Primary Interop Assemblies 1、根据元素ID获取元素的值。 比如要获取 img class= id= regimg src= /register/checkregcode.html?1287068791 width= 80 height= 22 这个标签里的src属性的值: mshtml.IHTMLDocument2doc2=(mshtml.IHTMLDocume
  

  首先要引入Microsoft.mshtml.dll 地址是C:\ProgramFiles\Microsoft.NET\Primary Interop Assemblies

  1、根据元素ID获取元素的值。

  比如要获取<img class="" id="regimg"src="/register/checkregcode.html?1287068791" width="80"height="22">这个标签里的src属性的值:

mshtml.IHTMLDocument2 doc2 =(mshtml.IHTMLDocument2)webBrowser1.Document;
mshtml.IHTMLElement img =(mshtml.IHTMLElement)doc2.all.item( "regimg", 0);

string imgUrl = ( string)img.getAttribute( "src");

  2、填写表单,并确定

mshtml.IHTMLElement loginname =(mshtml.IHTMLElement)doc2.all.item( "loginname", 0);
   mshtml.IHTMLElement loginPW =(mshtml.IHTMLElement)doc2.all.item( "password", 0);
   mshtml.IHTMLElement loginBT =(mshtml.IHTMLElement)doc2.all.item( "formsubmit", 0);
   mshtml.IHTMLElement loginYZ =(mshtml.IHTMLElement)doc2.all.item( "regcode", 0);
   loginname.setAttribute( "value", tbLoginName.Text);
   loginPW.setAttribute( "value", tbLoginPassWord.Password);
   loginYZ.setAttribute( "value", tbYZ.Text);
   loginBT.click();

  3、获取源码

  textBox1.Text = doc2.body.innerHTML;

  4、执行JS

  mshtml.IHTMLWindow2 win =(mshtml.IHTMLWindow2)doc2.parentWindow;

  win.execScript("changeRegImg()", "javascript");//使用JS

  5、禁止JS,WPF下目前发现唯一适用的一种方法:

public  void HideScriptErrors(WebBrowser wb,  bool Hide)
   {

    FieldInfofiComWebBrowser =  typeof(WebBrowser).GetField( "_axIWebBrowser2",BindingFlags.Instance | BindingFlags.NonPublic);

     if(fiComWebBrowser ==  nullreturn;

    objectobjComWebBrowser = fiComWebBrowser.GetValue(wb);

     if(objComWebBrowser ==  nullreturn;

   objComWebBrowser.GetType().InvokeMember(

     "Silent",BindingFlags.SetProperty,  null, objComWebBrowser,  new  object[] {Hide });

   }

   voidwebBrowser1_Navigated( object sender, NavigationEventArgs e)
   {

   HideScriptErrors(webBrowser1,

    true);

   }

  本文来自a8878855的博客,原文地址:http://hi.baidu.com/ltsakhkqttsvxze/item/83ea1cee2f4a2d2e5b7cfbf4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值