使用HtmlAgilityPack更好的HTML分析和验证
来源:互联网 发布:网络制式有哪些 编辑:程序博客网 时间:2024/04/26 17:45
使用HtmlAgilityPack更好的HTML分析和验证
原文:http://www.cnblogs.com/oscarxie/archive/2007/11/14/959009.html
让我们面对它,有时候,当您正在编写自定义的提取和验证规则时Microsoft.VisualStudio.TestTools.WebTesting.HtmlDocument 类不会剪切它。HtmlDocument最初设计是作为一个内部类非常有效地为HTML响应正文之外的从属请求(比如图像)分析URLs。VS 2005 RTM 之前,我们将HtmlDocument 作为公有WebTestFramework API的一部分,但是时间安排和资源约束阻止我们为其添加更多的常规目的 DOM 功能如InnerHtml、InnerText 和GetElementById。您可以自己分析HTML字符串,不过
幸运的是还有一个更好的选择:HtmlAgilityPack。
HtmlAgilityPack 是CodePlex 上的一个开源项目。它提供了标准的DOM API 和XPath 导航--即使 HTML 不是适当的格式!
下面是使用HtmlAgilityPack.HtmlDocument代替WebTestFramework中的Web测试示例。它简单验证微软主页在导航工具条上将Windows列为第一项。下载HtmlAgilityPack 并从您的测试项目添加对它的引用来尝试此编码 Web 测试。
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Microsoft.VisualStudio.TestTools.WebTesting;
- using HtmlAgilityPack;
- public class WebTest1Coded : WebTest
- {
- public override IEnumerator<WebTestRequest> GetRequestEnumerator()
- {
- WebTestRequest request1 = new WebTestRequest("http://www.microsoft.com/");
- request1.ValidateResponse += new EventHandler<ValidationEventArgs>(request1_ValidateResponse);
- yield return request1;
- }
- void request1_ValidateResponse(object sender, ValidationEventArgs e)
- {
- //load the response body string as an HtmlAgilityPack.HtmlDocument
- HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
- doc.LoadHtml(e.Response.BodyString);
- //locate the "Nav" element
- HtmlNode navNode = doc.GetElementbyId("Nav");
- //pick the first <li> element
- HtmlNode firstNavItemNode = navNode.SelectSingleNode(".//li");
- //validate the first list item in the Nav element says "Windows"
- e.IsValid = firstNavItemNode.InnerText == "Windows";
- }
- }
- 使用HtmlAgilityPack更好的HTML分析和验证
- 使用HtmlAgilityPack更好的HTML分析和验证
- 使用HtmlAgilityPack更好的HTML分析和验证
- HtmlAgilityPack 分析Html代码
- 使用HtmlAgilityPack解析html
- WindowsPhone使用HtmlAgilityPack解析HTML
- HTML解析组件HtmlAgilityPack使用
- 使用HtmlAgilityPack.dll解析html
- HtmlAgilityPack的简单使用
- C# HTML解析工具HtmlAgilityPack使用简介
- 使用HtmlAgilityPack抓取html标签属性内容
- .net HtmlAgilityPack解析返回的html字符串
- Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用
- HtmlAgilityPack——解析html和采集网页的神兵利器
- HtmlAgilityPack——解析html和采集网页的神兵利器
- C# 新闻采集(HtmlAgilityPack.dll)的使用
- C# HTML解析工具HtmlAgilityPack使用实例(一)
- C#中使用HtmlAgilityPack对html进行解析
- VS2005下写DLL应该注意的问题
- 大象-Thinking in UML早知道 -- 001--公告
- Python操作SMTP和POP3
- 征集佳句-精妙SQL语句收集
- Delphi自写组件:可设置颜色的按钮
- 使用HtmlAgilityPack更好的HTML分析和验证
- 按钮3D效果
- 遍历目标文件夹下所有文件
- linux关机和重启命令
- 按值传递还是按引用传递
- 没牛逼以前还是老老实实的吧。
- 大象--Thinking in UML早知道 -- 002--面向过程方法与面向对象方法
- 使用OpenFileDialog选择文件
- 特殊SQL语句及优化原则