昨天想要实现个打印网页为 PDF 的功能,顺便学习 TypeScript 和 Nest.js 。 遇到了这些问题:
附上代码:
async generatePDFFromURL(url: string): Promise<Buffer> {
return new Promise<Buffer>(async (resolve, reject) => {
const browser = await puppeteer.launch(),
page = await browser.newPage();
try {
await page.goto(url, {
timeout: 5000,
});
} catch(error) {
reject(error);
}
const pdf = await page.pdf({
format: 'A4',
});
await browser.close();
resolve(pdf);
});
}
1
tmkook 2020-08-16 12:58:38 +08:00 via Android 1
goto 是要等全部资源加载完的,一旦有阻塞 5 秒肯定不够
|
2
mauve 2020-08-17 10:40:07 +08:00
```javascript
await page.waitForNavigation() await page.waitForSelector('[name="passwd"]') ``` 尝试一下这两种写法呢? |