本文主要是介绍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);
这篇关于webbrowser 修改页面元素操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!