A-A+

WebBrowser介绍

2014年09月09日 技术 暂无评论 阅读 2,743 次

WebBrowser是一个.NET控件,一般用于在Winform中显示目标网页。

Navigate方法是最常用的方法,它可以将指定位置的文档加载到WebBrowser 控件中,加载完毕后会触发DocumentCompleted事件。示例代码如下:

  1. private void btnGo_Click(object sender, EventArgs e)
  2. {
  3.     webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
  4.     webBrowser1.Navigate("http://www.baidu.com");
  5. }
  6. void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  7. {
  8. }

WebBrowser通常被用来定制浏览器,其实我个人认为其更加适合于自动化测试和数据采集工作。WebBrowser可以模拟表单的自动提交,如果需要频繁的进行回归测试或者按照一定的流程规则进行测试,用WebBorwser会节省大量的劳动时间,比如模拟表单登录:

  1. HtmlElement btnSubmit = webBrowser.Document.All["submitbutton"];
  2. HtmlElement tbUserid = webBrowser.Document.All["username"];
  3. HtmlElement tbPasswd = webBrowser.Document.All["password"];
  4. if (tbUserid == null || tbPasswd == null || btnSubmit == null)
  5. {
  6.     return;
  7. }
  8. tbUserid.SetAttribute("value""admin");
  9. tbPasswd.SetAttribute("value""123456");
  10. btnSubmit.InvokeMember("click");

WebBrowser也可以用于数据采集工作。目前互联网的前端页面越来越重视人工体验,同时随着Ajax的流行,大量的动态异步脚本充斥于页面中。如果使用HttpWebClient来获取目标页面,一般无法获得我们所需的数据,比如:异步加载的评论信息,随着滚动条滚动加载的数据信息等。此时最简单的办法是,可以先使用WebBrowser渲染页面,然后通过托管Html类获取所需信息。可以参考此网址:http://www.cnblogs.com/finallyliuyu/archive/2010/11/02/1866966.html。不过使用WebBorwser进行数据采集工作效率偏低,但是实现一些小型的项目需求则完全可以胜任,并且技术门槛较低。

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality

用户登录

分享到: