При создании PDF-файлов с веб-страниц с помощью Puppeteer очень важно дождаться полной загрузки страницы, чтобы обеспечить полноту и точность созданного документа. Давайте углубимся в то, как добиться этого, не прибегая к задержкам вручную.
Метод page.waitForNavigation() обеспечивает надежный способ ожидания событий навигации по странице, включая начальную загрузку страницы. Используя опцию networkidle0, мы указываем, что функция должна ждать, пока не останется активных сетевых подключений.
await page.goto(fullUrl, {
waitUntil: 'networkidle0',
});
После загрузки страницы мы можем заполнить форму входа и отправить ее.
await page.type('#username', 'scott');
await page.type('#password', 'tiger');
await page.click('#Login_Button');
Далее мы можем добавить дополнительный вызов waitForNavigation(), чтобы убедиться, что процесс входа в систему завершен.
await page.waitForNavigation({
waitUntil: 'networkidle0',
});
Наконец, мы можем приступить к созданию PDF-файла.
await page.pdf({
path: outputFileName,
displayHeaderFooter: true,
headerTemplate: '',
footerTemplate: '',
printBackground: true,
format: 'A4',
});
Если вы столкнулись со случаями, когда определенный динамический контент необходимо включить в PDF-файл, вы можете дополнить этот подход с помощью page.waitForSelector(), чтобы дождаться появления определенного элемента на странице, прежде чем генерировать PDF.
await page.waitForSelector('#example', {
visible: true,
});
Используя эти методы, вы можете гарантировать, что Puppeteer дождется полной загрузки страницы перед созданием PDF-файла, что приведет к комплексному и точному созданию документа.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3