Puppeteer 在不设置断点时呈现空白页面

Puppeteer renders blank pages when not setting breakpoints

我使用的是最新版本的 PuppeteerSharp,但在未设置断点时呈现空白页面时遇到问题。

如果我只是让逻辑在不中断的情况下通过,那么代码似乎 "awaiting" 不正确。

代码如下:

using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
    Headless = true
}))
{
    using (var page = await browser.NewPageAsync())
    {
        await page.SetContentAsync(htmlDoc.SaveToString()); //this is an HTMLAgilityPack document
        var result = await page.GetContentAsync(); //if I break here for a couple of seconds, it works
        using (var sr = await page.PdfStreamAsync())
        {
            using (var ms = new MemoryStream())
            {
                sr.CopyTo(ms);
                return File(ms.ToArray(), "application/pdf");
            }
        }

     }
 }

我是不是做错了什么?当我得到空白页时,我得到了预期的页数。奇怪。

编辑:图像被渲染但文本未被渲染。另外,我应该提到我正在使用他们网站上的 Google Front。所以可能是 woff 文件还没有下载。

有没有办法等到 page 下载完所有远程内容后再继续?

您可以尝试一些等待导航选项。像这样:

await page.SetContentAsync(
    htmlDoc.SaveToString(), 
    new NavigationOptions { WaitUntil = new[] { WaitUntilNavigation. Networkidle0 }});