和Webbrowser进行简单交互
作为第一篇,简单的控件使用就不说了。
直接从简单的交互开始吧!
C#使用网页中已有的js函数
webBrowser.Document.InvokeScript("Stop");//webbrowser是Webbrowser的名称,通过Document的方法的InvokeScipt直接启动。参数是js函数的名称
这个InvokeScript是拥有返回值的,可以接受网页js函数的返回值。
C#在网页中添加新的JS函数
在webbrowser中,也是可以实现。
基本思路是:
创建标签。
填充标签中需要填充的值
将标签添加到网页中
之后看情况是否启动。
var SetNewHtml = webBrowser1.Document.CreateElement("script");//创建标签 SetNewHtml.SetAttribute("text",@"function newFun(){alret('hello')}");//向标签内传值 webBrowser1.Document.Body.AppendChild(SetNewHtml);//填充到网页的body的末尾
C#获取网页的标签
var getIdHtml= webBrowser1.Document.Body.Document.GetElementById("标签的ID"); //getIdHtml.InnerHtml 获取此标签的HTML //getIdHtml.InnerText 获取标签的值
//getIdHtml是一个HtmlElemnt类型
//标签的基本都可以通过这样子获取到
C#修改网页内容
同上,因为HtmlElemnt类型的方法和属性大部分都是get;set;的 所以可以获取 可以修改
var getIdHtml= webBrowser1.Document.Body.Document.GetElementById("a"); getIdHtml.InnerHtml = "<a>AAAABBBB</a>";
或者是直接修改
webBrowser1.Document.Body.Document.GetElementById("a").SetAttribute(“”,“”);
这个方法有两个参数,第一个是要设置参数的名字,第二个是参数的具体的值
C#直接使用网页上的标签的一些自身的属性
比如点击等
webBrowser1.Document.Body.Document.GetElementById("a").InvokeMember("click");