美文网首页
puppeteer 等页面加载完再截图

puppeteer 等页面加载完再截图

作者: zhumu3 | 来源:发表于2022-02-22 17:27 被阅读0次

    目前用puppeteer 搭配node实现给某个网站截图的功能,但是有几率会出现截的图是没有加载后端数据的图片,推测是puppeteer还没加载完接口,就开始截图了,目前在网上搜索到的解决方法总结汇总如下:

    1.主要是在page.goto 后面加上一个配置

    'waitUntil':'networkidle0'
    

    这个代表的意思是当前页面在500ms内没有http请求存在,再返回
    还有一个值是networkidle2,代表的意思是当前页面在500ms内没有2个http请求存在

    2.增加await page.content();,这句话的意思是获取当前页面的document数据

    代码如下:

        const browser = await puppeteer.launch({
            args: ["--no-sandbox", "--disable-setuid-sandbox"]
        });
        const page = await browser.newPage();
        const response = await page.goto(XXX,{'timeout':1000*30,'waitUntil':'networkidle0'});
        await page.setViewport({
                width: 1920,
                height: 1080
            });
        await autoScroll(page);
        await page.content();
        await page.screenshot({
                path: './paper.jpeg',
                fullPage: true,
                quality:70
            });
        await browser.close();
    

    相关文章

      网友评论

          本文标题:puppeteer 等页面加载完再截图

          本文链接:https://www.haomeiwen.com/subject/sviglrtx.html