如何更改 WebBrowser所加载的 HTML元素
方法1:在网页加载完毕后的事件里面添加代码,我这里只是修改网页不出现滚动条,因为滚动条我重写了。
1 #region (private) 网页加载完成后执行回调的函数 2 3 /// <summary> 4 /// 网页加载完成后执行回调的函数,在这初始化滚动条的参数 5 /// </summary> 6 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 7 { 8 if (this.webBrowser1.ReadyState == WebBrowserReadyState.Complete) 9 { 10 HtmlElementCollection bodys= this.webBrowser1.Document.GetElementsByTagName("body"); 11 HtmlElement body=null; 12 if (bodys.Count>0) 13 body=bodys[0]; 14 if( body != null ) 15 { 16 if( body.Style != null ) 17 body.Style += " overflow: hidden; "; 18 else 19 body.Stle = " overflow: hidden; "; 20 } 21 } 40 } 41 #endregion
方法2:直接对DocumentTex内容进行修改
1 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 2 { 3 if (this.webBrowser1.ReadyState == WebBrowserReadyState.Complete) 4 { 5 try 6 { 7 string strHTML= this.webBrowser1.DocumentText; 8 strHTML = "这里修改你要动的地方"; 9 this.webBrowser1.DocumentText = strHTML; 11 } 12 catch 13 { 14 } 15 16 } 17 }
方法3:大伙常说的
this.webBrowser1.Document.Body.SetAttribute( "scroll","no");
总结: 在这里说明一下此方法跟第一种方法的区别, 第一种方法修改后,在呈现的网页右键查看源代码是看不到修改后的内容,
但在webBrowser1.Document.Body.OuterHtml属性里面可以看的到,
第二种方法修改后则右键查看源代码也可看的到,有关其它更深入的区别,作为菜鸟的我还是没有去关心了,
方法3,不是很灵活,有时还没用
我用的是第一种方法