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

Parsing web page with HtmlAgilityPack and simulate a click

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

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

您有两个选择:

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

  • 如果您需要与页面交互,您需要一个浏览器。有像 PhantomJS 这样的无头浏览器,它们实际上会加载页面,解析服务器发送的 Javascript 和 运行 内容。这些 C# 包装器周围有包装器,such examples is Awesonium 之一。它类似于 HTML Agility Pack,因为它允许您解析 HTML 文档,但它更进一步,实际上 运行 在不显示浏览器屏幕的情况下使用它。