Кукловод отображает пустые страницы, если не заданы точки останова - PullRequest
1 голос
/ 22 января 2020

Я использую последнюю версию PuppeteerSharp и у меня возникает проблема с отображением пустых страниц, если не задана точка останова.

Может показаться, что код не "ожидает" должным образом если я просто пропущу логи c go, не прерывая ее.

Вот код:

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 загрузит весь удаленный контент, прежде чем продолжить?

1 Ответ

1 голос
/ 22 января 2020

Вы можете попробовать немного подождать, пока параметры навигации Как то так:

await page.SetContentAsync(
    htmlDoc.SaveToString(), 
    new NavigationOptions { WaitUntil = new[] { WaitUntilNavigation. Networkidle0 }});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...