html组件的使用方法,HTML解析组件HtmlAgilityPack使用方法介绍

HtmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。目前最新版本为1.4.6,下载地址如下:

http://htmlagilitypack.codeplex.com/

下面以一个简单的例子来介绍下HtmlAgilityPack的使用,对于Asp.Net程序开发的网站要做模拟登录的时候,除了要知道用户名文本框和密码文本框的name属性值外,还需要知道页面的VIEWSTATE、EVENTVALIDATION这两个隐藏控件的值,以及提交按钮的name属性,下面看看怎样使用HtmlAgilityPack来获得这个额外的值。

1、在项目中添加对HtmlAgilityPack.dll的引用

9029df5bc5701e6478a13d2472805922.png

2、在Aspx页面中放几个文本框控件和一个按钮控件

a71647ccbed4f0275d20d194775d10de.png

3、按钮的后台事件如下protected void btnHtml_Click(object sender, EventArgs e)

{ if (tbUrl.Text.Length > 0)

{

HtmlWeb htmlWeb = new HtmlWeb();

HtmlDocument htmlDoc = htmlWeb.Load(this.tbUrl.Text);

HtmlNode htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='VIEWSTATE']");

string viewStateValue = htmlNode.Attributes["value"].Value;

htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='EVENTVALIDATION']");

string eventValidation = htmlNode.Attributes["value"].Value;

htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@type='submit']");

string submitName = htmlNode.Attributes["name"].Value;

tbViewState.Text = viewStateValue;

tbEventValidation.Text = eventValidation;

tbSubmitName.Text = submitName;

}

}

4、以博客园的登录界面为例,获取后的界面如下

27a59e0ebad1deee42dccf776bf3e950.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值