求C# HtmlAgilityPack用法的完整例子。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求C# HtmlAgilityPack用法的完整例子。相关的知识,希望对你有一定的参考价值。
如果能有完整的文件让我能够运行学习最好,要是没有的话,请大牛们帮我给下详细步骤。大牛们帮帮忙吧~~~
1.htmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。
下面以一个简单的例子来介绍下HtmlAgilityPack的使用,对于Asp.Net程序开发的网站要做模拟登录的时候,除了要知道用户名文本框和密码文本框的name属性值外,还需要知道页面的__VIEWSTATE、__EVENTVALIDATION这两个隐藏控件的值,以及提交按钮的name属性,下面看看怎样使用HtmlAgilityPack来获得这个额外的值。
2.例程:
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;
参考技术A public void English()
Console.WriteLine("hello,sir");
public void Chinaese()
Console.WriteLine("你好,先生");
public enum Lanaguage
Chinaese,English
public void Make(Language lan)
switch(lan)
case Language.English:
English();
break;
case Language.Chinaese:
Chinaese();
break;
static void Main(string[] args)
Make(Language.Chinaese);
以上是关于求C# HtmlAgilityPack用法的完整例子。的主要内容,如果未能解决你的问题,请参考以下文章
可以在 C# 的 HtmlAgilityPack 中使用 LINQ 吗?
C# HTML解析工具HtmlAgilityPack使用实例
c# 爬虫 -ChromeDriver+HtmlAgilityPack爬取比赛实时比分
如何使用 C# 在 Visual Studio 2010 中使用正则表达式或 HTMLAgilityPack 抓取 HTML 页面的特定部分?