使用HtmlAgilityPack解析网页并模拟点击

时间:2016-04-19 09:16:04

标签: c# html-agility-pack

我正在使用HAP抓取某个网页,我想访问页面上的提交按钮,但问题是我不知道如何在HAP和C#中完成,有没有办法我可以这样做吗?

1 个答案:

答案 0 :(得分:3)

HTML Agility Pack不是浏览器,因此虽然它可以解析HTML文件,但是无法与它进行真正的交互。你可以找到submit对象,阅读它的属性等等,但你无法做任何事情。

您有两种选择:

  • 读取表单,构建与表单字段匹配的Http Request对象和post方法,并将其发送到服务器。这是所有手工工作。 Agility Pack仅帮助您列出表单及其属性中的字段

  • 如果您需要与该页面进行互动,则需要使用浏览器。像PhantomJS这样的无头浏览器实际上会加载页面,解析Javascript并运行服务器发送的内容。围绕这些包装器的包装器是C#,such examples is Awesonium之一。它与HTML Agility Pack类似,它允许您解析HTML文档,但它更进一步,实际运行它而不显示浏览器屏幕。