我正在寻找使用.net解析html以测试或断言其内容的目的。 即
HtmlDocument doc = GetDocument(“some html”) 列表表单= doc.Forms() 链接链接= doc.GetLinkByText(“新客户”)
这个想法是允许人们用c#编写测试,类似于他们在webrat(ruby)中的测试。
即。
次数( '\') fills_in“名字”,“米克” 点击“保存”
我已经看过html agility pack,sgmlreader等但是有人为此创建了一个对象模型,即一组表示html元素的类,如表单,按钮等?
干杯。
答案 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)
您有两个主要选择:
使用一些浏览器引擎(即Internet Explorer)来解析你的html,然后让你访问生成的DOM。这个选项需要你与浏览器引擎互操作(在简单的COM的情况下)
使用一些轻量级解析器,如HtmlAgilityPack
答案 3 :(得分:0)
听起来我正在尝试进行HTML单元测试。你看过Selenium了吗?它甚至还有C#库,因此您可以在C#中编写HTML单元测试并声明元素存在,并且它们具有正确的值,甚至可以单击链接。它甚至适用于JavaScript / AJAX站点。
答案 4 :(得分:0)
HTML的最佳解析器是HTQL COM。使用可以使用HTQL查询来检索HTML内容。