浅谈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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构