无法展开页面中的所有 div

Cannot expand all the div in a page

我正在尝试展开 this 页面内所有可用的 div。特别是显示 mostra partite 的 div,例如:

查看 html 结构,我们有 class: event__header--no-my-games 折叠的 divs,所以我做了:

// page is the browser page
await page.WaitForSelectorAsync(".event"); // wait ajax completion
var divs = await page.QuerySelectorAllAsync(".event__header--no-my-games > .event__info");

foreach(var cd in divs)
{
   await cd.ClickAsync();
}

第一个问题是站点显示 7 divs 崩溃,但我在 divs 变量上得到 20 divs。另外,当我这样做时:

string html = await page.GetContentAsync();
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);

没有展开的div,我做错了什么?

以下代码运行良好:

await page.WaitForSelectorAsync(".event"); // wait ajax completion
var divs = await page.QuerySelectorAllAsync(".event__header--no-my-games > .event__info");

foreach(var cd in divs)
{
   await cd.ClickAsync();
}

问题是 Puppeteer 打开的浏览器有移动尺寸,在那种情况下,我正在寻找的选择器是不同的。

我修复了通过以下方式声明 Viewport 尺寸的问题:

Browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
      Headless = true,
      ExecutablePath = "your chrome path",
      DefaultViewport = new ViewPortOptions { Height = 1280, Width = 800}
});

这将使用正确的选择器以桌面模式打开网站。

希望这对某人有所帮助。