C# 无ui界面的快速点击

C# 无ui界面的快速点击,c#,html-agility-pack,anglesharp,C#,Html Agility Pack,Anglesharp,我试图通过C#和(AngleSharp或HTML Agility Pack)从网页上获取有关可用日程安排的信息。问题是,要查看不同日期的日程安排,必须按“div”(上一个,下一个)。所以要有一个月的时间表,我必须一页一页地浏览。我发现的问题是,我不能点击div。与Chrome控制台中的javascript相比,如果我可以的话。我已经看到在ihtmlement上使用DoClick有类似的响应,但是它不起作用,我没有更改页面。浏览器一直在处理文档中相同的html。让我们先看看AngleSharp可以

我试图通过C#和(AngleSharp或HTML Agility Pack)从网页上获取有关可用日程安排的信息。问题是,要查看不同日期的日程安排,必须按“div”(上一个,下一个)。所以要有一个月的时间表,我必须一页一页地浏览。我发现的问题是,我不能点击div。与Chrome控制台中的javascript相比,如果我可以的话。我已经看到在ihtmlement上使用DoClick有类似的响应,但是它不起作用,我没有更改页面。浏览器一直在处理文档中相同的html。

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

  • 任何类型的请求,包括其操作(在请求时,也在响应之前)
  • 一般cookie管理(当然还有它们的操作)
  • 查询DOM并执行“简单”操作(例如,单击按钮、提交表单)
  • 运行普通JavaScript文件
这里简单的意思是:不需要任何超出AngleSharp提供的功能的脚本,例如,渲染树信息、高级CSSOM访问等等-或者需要非ES5兼容解析器的脚本(例如,使用ES6或一些特殊的非标准功能)

我在您的问题描述中看到的问题是,为了“单击”页面上的div,需要运行脚本。该脚本现在可以归入“琐碎”类别,但很可能不是。现在您有两个选项:

  • 试试看,也许它很有效/很好,否则
  • 查看脚本正在做什么(显然最终会有一些HTTP请求…),并执行相同的操作
后者当然可以在C#/AngleSharp中重新实现。因此,您可以创建一个HTTP请求,获取数据,或者直接对该数据集执行某些操作(它可能是JSON,并且已经是您想要的了……),或者(如果它提供部分HTML)重新解析它并将其集成到真实页面上


你能分享你的代码吗?也许还有你想刮的页面?对于HAP,您不会真正单击任何东西,而是发出更多http请求,这些请求与按钮发出的请求相同,或者更改请求/url参数以获得所需的数据。