Html Parser& .net / C#的对象模型

时间:2009-07-26 12:21:07

标签: c# .net html asp.net-mvc parsing

我正在寻找使用.net解析html以测试或断言其内容的目的。 即

HtmlDocument doc = GetDocument(“some html”) 列表表单= doc.Forms() 链接链接= doc.GetLinkByText(“新客户”)

这个想法是允许人们用c#编写测试,类似于他们在webrat(ruby)中的测试。

即。

次数( '\') fills_in“名字”,“米克” 点击“保存”

我已经看过html agility pack,sgmlreader等但是有人为此创建了一个对象模型,即一组表示html元素的类,如表单,按钮等?

干杯。

5 个答案:

答案 0 :(得分:1)

Here是用于html解析的好库,没有创建像HtmlButton,HtmlInput这样的对象,但如果你不想使用HTML DOM,那么它是一个很好的开始并自己创建它

答案 1 :(得分:0)

据我所知,最接近.NET中HTML DOM的是HTML DOM。

您可以使用Windows窗体WebBrowser控件,使用HTML加载它,然后从外部访问DOM。

顺便说一句,这是.NET。任何适用于VB.NET的代码都适用于C#。

答案 2 :(得分:0)

您有两个主要选择:

  1. 使用一些浏览器引擎(即Internet Explorer)来解析你的html,然后让你访问生成的DOM。这个选项需要你与浏览器引擎互操作(在简单的COM的情况下)

  2. 使用一些轻量级解析器,如HtmlAgilityPack

答案 3 :(得分:0)

听起来我正在尝试进行HTML单元测试。你看过Selenium了吗?它甚至还有C#库,因此您可以在C#中编写HTML单元测试并声明元素存在,并且它们具有正确的值,甚至可以单击链接。它甚至适用于JavaScript / AJAX站点。

答案 4 :(得分:0)

HTML的最佳解析器是HTQL COM。使用可以使用HTQL查询来检索HTML内容。