webbrowser 修改页面元素操作

     mshtml  WebBrowser 类:

    1. WebBrowser_V1Class ,继承自IWebBrowser, WebBrowser_V1, DWebBrowserEvents_Event, IWebBrowser2, DWebBrowserEvents2_Event。

    2.WebBrowserClass类,继承自 IWebBrowser2, WebBrowser, DWebBrowserEvents2_Event, IWebBrowser, DWebBrowserEvents_Event


     mshtml WebBrowser 接口

    1.WebBrowser接口继承自 IWebBrowser2, DWebBrowserEvents2_Event,几乎包含了所有的webbrowser 方法和事件以及属性。

    2.WebBrowser_V1接口继承自IWebBrowser, DWebBrowserEvents_Event比webbrowser接口低一个档次 。


    用法:mshtml webbrowser  类需要托管的方法CreateWrapperOfType来进行相应的COM 组件封装,而接口则可直接应用


    例子:更改百度输入框

            webBrowser1.Navigate(@"http://www.baidu.com/");
            while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) System.Windows.Forms.Application.DoEvents();       
              HtmlElement cmd = webBrowser1.Document.GetElementById("kw");

            mshtml.IHTMLElement2 iht2 = (mshtml.IHTMLElement2)(cmd.DomElement);
            ement = (mshtml.HTMLInputElementClass)(cmd.DomElement);

            mshtml.IHTMLStyle style=ement.style;//获取到样式接口
            ement.select();
            style.height =10;  
            ement.height = 10;
            ement.value = "金庸江湖";
            style.background = "FFF8DC";

     以上效果修改加载后百度输入框的前景色,大小,和样式等。

 

    //(webBrowser1.ActiveXInstance as SHDocVw.WebBrowser_V1).NewWindow+=new    SHDocVw.DWebBrowserEvents_NewWindowEventHandler(Form3_NewWindow);
         
            (webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(Form3_NewWindow2);


            IHTMLElement2 ht2 = webBrowser1.Document.GetElementById("kw").DomElement as IHTMLElement2;
            


            HTMLInputElementClass ement = (mshtml.HTMLInputElementClass)ht2;


            ement.HTMLInputTextElementEvents_Event_onclick+=new HTMLInputTextElementEvents_onclickEventHandler(ement_HTMLInputTextElementEvents_Event_onclick);


            ement.HTMLInputTextElementEvents_Event_onmouseover+=new HTMLInputTextElementEvents_onmouseoverEventHandler(ement_HTMLInputTextElementEvents_Event_onmouseover);


            //MessageBox.Show(ht2.scrollHeight.ToString());
            //mshtml.HTMLDocumentEvents_Event et = ht2 as mshtml.HTMLDocumentEvents_Event; Document事件用webbrowser.document来初始化或者实例化
            //input事件用intput标记的元素实例化或者初始化
            //et.onclick+=new HTMLDocumentEvents_onclickEventHandler(et_onclick);

    

  

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值