puppeteer启动后请求报错

参考链接 centos安装puppeteer遇到的报错及解决方案 - 李子呀 - 博客园

/home/work/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory
解决:yum install atk

报错:/home/work/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome: error while loading shared libraries: libatk-bridge-2.0.so.0: cannot open shared object file: No such file or directory
解决:yum install at-spi2-atk

报错:/home/work/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome: error while loading shared libraries: libxkbcommon.so.0: cannot open shared object file: No such file or directory
解决:yum install libxkbcommon-x11-devel

报错:/home/work/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome: error while loading shared libraries: libXcomposite.so.1: cannot open shared object file: No such file or directory
解决:yum install libXcomposite

报错:/home/work/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory
解决:yum install gtk3

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题可能是因为 Puppeteer 在运行时占用了太多内存,导致系统自动杀掉了进程。你可以尝试以下几种方法来解决这个问题: 1. 增加内存限制:在启动 Puppeteer 的时候,可以通过 `puppeteer.launch` 方法的 `args` 参数来增加 Chrome 进程的内存限制。例如: ```javascript const browser = await puppeteer.launch({ args: ['--memory-limit=4096', '--max-old-space-size=2048'], }); ``` 这里设置了内存限制为 4GB,同时设置了最大堆大小为 2GB。 2. 关闭无用的 Chrome 功能:在启动 Puppeteer 的时候,可以通过 `puppeteer.launch` 方法的 `args` 参数来关闭一些无用的 Chrome 功能,从而减少内存占用。例如: ```javascript const browser = await puppeteer.launch({ args: [ '--disable-extensions', '--disable-dev-shm-usage', '--disable-setuid-sandbox', '--disable-accelerated-2d-canvas', '--no-first-run', '--no-sandbox', '--no-zygote', '--single-process', ], }); ``` 这里关闭了一些 Chrome 的扩展功能,禁用了共享内存和沙盒机制,同时强制使用单进程模式。 3. 重用浏览器实例:在使用 Puppeteer 进行大量操作时,可以考虑重用浏览器实例,避免每次都启动新的 Chrome 进程。例如: ```javascript const browser = await puppeteer.launch(); const page1 = await browser.newPage(); await page1.goto('https://example.com'); // ... const page2 = await browser.newPage(); await page2.goto('https://example.com'); // ... await browser.close(); ``` 这里先启动了一个浏览器实例,然后通过 `browser.newPage` 方法来创建新的页面,进行操作。最后记得关闭浏览器实例。 希望以上方法能够帮助到你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值