webbrowser是一个比较实用的工具,主要用于在winform窗体中嵌入浏览器,达到winform与webform互操作的目的。
成都创新互联IDC提供业务:内江机房主机托管,成都服务器租用,内江机房主机托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。先上一个demo,看一下能实现什么效果。
private void Form1_Load(object sender, EventArgs e) { this.webBrowser1.Url = new Uri("http://www.baidu.com");//指定url地址为百度首页 } private void button1_Click(object sender, EventArgs e) { HtmlElement searchWords = webBrowser1.Document.All["kw"];//获取百度搜索的文本框 HtmlElement searchButton = webBrowser1.Document.All["su"];//获取百度搜索的按钮 searchWords.SetAttribute("value", "guwei4037");//给百度搜索的文本框赋值 searchButton.InvokeMember("click");//调用百度搜索按钮的点击事件 }
在winform中拖一个webbrowser控件,然后在相应事件中键入如上代码,就可以实现自助搜索(无需在文本框中输入关键词guwei4037,再点搜索按钮,而是直接点击一个按钮进行搜索)。
原理很简单,就是通过查找在webbrowser控件生成的html代码中的input元素或button元素的id,通过api实现模拟赋值和查找工作。
再附一个稍微复杂的一点的例子。
如果生成的html比较复杂,比如含iframe这类的标签时该如何处理呢?
比如,我们要访问qq空间里面的留言功能时,通过google chrome浏览器看到的html代码,很复杂,好在我们也有办法处理。
private void Form1_Load(object sender, EventArgs e) { this.webBrowser1.Url = new Uri("http://user.qzone.qq.com/345822155/infocenter#!app=334&url=http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fmsgboard%2Fmsgbcanvas.html%23page%3D1"); }
private void button1_Click(object sender, EventArgs e) { if (!webBrowser1.IsBusy)//判断有没有加载新的文档 { HtmlElement searchButton = webBrowser1.Document.Window.Frames["tgb"].Document.All["btnPostMsg"];//获取到iframe id为tgb下面的button searchButton.InvokeMember("click"); } }
更多信息,请参考:微软官方网站
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款