浅谈WebBrowser控件

最近写了一个小程序,从一个web系统中扒数据存到本地,最初想直接用 HttpWebRequest,后来发现那个系统cookie存的很乱,参数的加密算法也很复杂,为了节省时间,决定改用WebBrowser控件。下面我把用到的方法记录一下:

1、添加JS

HtmlDocument docFrame = webBrowser1.Document;
HtmlElement div = docFrame.CreateElement("div");

HtmlElement ele = docFrame.CreateElement("script");
ele.SetAttribute("type", "text/javascript");

ele.SetAttribute("text", jsStr);//jsStr为js代码字符串,例如:"function fun(message){alert(message);}"
docFrame.Body.AppendChild(ele);

调用js方法:

object[] cs = new object[1];
cs[0] ="aaa";//参数类型字符串
docFrame.InvokeScript("fun", cs);

2、获取js全局变量

string dataRes = webBrowser1.Document.InvokeScript("eval", new string[] { "top.dataRes" }).ToString();

3、获取和设置input控件的value值

 HtmlElement eletxt = webBrowser1.Document.GetElementById("txtUserName");

获取value值:string value= eletxt.GetAttribute("value");

设置value值:webBrowser1.Document.GetElementById("txtUserName").SetAttribute("value", "admin");

4、嵌入iframe页并跳转

HtmlDocument doc = webBrowser1.Document.Window.Document;
ele = doc.CreateElement("iframe");
ele.SetAttribute("id", "myFrame");
doc.Body.AppendChild(ele);

ele.SetAttribute("src", url);

 

posted @ 2022-06-15 08:58  丫丫是个小码农  阅读(342)  评论(0编辑  收藏  举报