我正在尝试创建包含许多外部AJAX请求的页面的PDF。
<script type='text/javascript' src='https://code.jquery.com/jquery-3.3.1.min.js'></script>
<script type='text/javascript'>
window.Swiper || document.write('<script src="http://localhost/wordpress/wp-content/themes/wp-theme/js/jQuery.js">\x3C/script>')
</script>
我已经尝试过await page.goto(url);
const buffer = await page.pdf({ format: 'A4' })
和其他各种waitUntil:'networkidle0'
,但是除了时间延迟以外,其他任何东西都不足以捕获加载的数据。
所以现在我试图让页面告诉Puppeteer它已经准备好了,但是看不到文档中的内容。
理想情况下,我希望页面触发事件,而Puppeteer则要等待它,就像这样:
waits
这可能吗?
答案 0 :(得分:0)
我建议使用page.waitForSelector()
等待要加载的最后一个元素。
示例用法:
await page.goto( 'https://www.example.com/', { waitUntil : 'networkidle0' } );
await page.waitForSelector( '#last-expected-element' );
const buffer = await page.pdf({
path : 'page.pdf',
format : 'A4'
});