我使用的是最新版本的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");
}
}
}
}
我做错了什么吗?当我得到空白页时,我得到了预期的页数。奇怪。
编辑:渲染图像但不渲染文本。另外,我应该提到我正在使用他们网站上的谷歌前线。因此,可能是woff
文件尚未下载。
有没有办法等到page
下载了所有远程内容后再继续?
您可以尝试等待导航选项。像这样:
await page.SetContentAsync(
htmlDoc.SaveToString(),
new NavigationOptions { WaitUntil = new[] { WaitUntilNavigation. Networkidle0 }});