无 ui 界面的 AngleSharp 点击

AngleSharp click without ui interface

我正在尝试通过 C# 和(AngleSharp 或 HTML Agility Pack)从网页获取有关可用计划的信息。问题是要查看不同日期的可用时间表,您必须按 "div"(上一个,下一个)。所以要有一个月的时间表,我必须一页一页地翻阅。我发现的问题是我无法点击 div。与 Chrome 控制台中的 javascript 相比,如果我能做到的话。我已经看到在 IHtmlElement 上使用 DoClick 有类似的响应,但它不起作用,我不更改页面。浏览器在文档中保持相同 html。

让我们先来看看 AngleSharp 可以做什么:

  • 任何类型的请求,包括。他们的操纵(根据要求,但也在回应之前)
  • 一般 cookie 管理(当然还有它们的操作)
  • 查询 DOM 并执行 "simple" 操作(例如,单击按钮、提交表单)
  • 运行 琐碎 JavaScript 文件

这里简单的意思是:脚本不需要 AngleSharp 提供的任何功能,例如渲染树信息、高级 CSSOM 访问,... - 或需要非 ES5 兼容解析器的脚本(例如,利用ES6 或一些特殊的非标准功能)。

我在您的问题描述中看到的问题是,为了 "click" 页面上的 div,脚本需要 运行。该脚本现在可以归入 "trivial" 类别,但很可能不是。现在您有 2 个选择:

  • 尝试一下,也许它有效/很好,否则...
  • 查看脚本在做什么(显然最终是一些 HTTP 请求...)并执行相同的操作

后者当然可以在 C# / AngleSharp 中重新实现。所以你可以创建一个 HTTP 请求,获取数据并直接对该数据集做一些事情(它可能是 JSON 并且已经是你想要的......)或者(如果它正在服务部分 HTML) 重新解析并整合到真实页面中

HTH!