1

我正在使用最新版本,PuppeteerSharp并且在未设置断点时出现空白页呈现问题。

如果我只是让逻辑通过而不中断它,那么代码似乎没有正确“等待”。

这是代码:

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下载所有远程内容后再继续?

4

1 回答 1

1

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

await page.SetContentAsync(
    htmlDoc.SaveToString(), 
    new NavigationOptions { WaitUntil = new[] { WaitUntilNavigation. Networkidle0 }});
于 2020-01-22T19:18:43.020 回答