【问题标题】:puppeteer with aws lambda function ro scrape data .Failed to launch chrome具有 aws lambda 函数 ro 抓取数据的 puppeteer。无法启动 chrome
【发布时间】:2020-06-30 12:21:21
【问题描述】:

我在使用带有 aws lambda 的 puppeteer 时遇到一些问题 无法启动 chrome!节点版本 12.x

{ errorType: 'Error',
  errorMessage:
   'Failed to launch chrome! spawn ./node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome ENOENT\n\n\nTROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md\n',
  trace:
   [ 'Error: Failed to launch chrome! spawn ./node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome ENOENT',
     '',
     '',
     'TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md',
     '',
     '    at onClose (/var/task/node_modules/puppeteer-core/lib/Launcher.js:342:14)',
     '    at ChildProcess.<anonymous> (/var/task/node_modules/puppeteer-core/lib/Launcher.js:333:64)',
     '    at ChildProcess.emit (events.js:223:5)',
     '    at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)',
     '    at onErrorNT (internal/child_process.js:456:16)',
     '    at processTicksAndRejections (internal/process/task_queues.js:81:21)' ] }```

【问题讨论】:

  • 确保您在无头模式下运行。

标签: node.js amazon-web-services google-chrome aws-lambda puppeteer


【解决方案1】:

你应该使用 chrome-aws-lambda (https://github.com/alixaxel/chrome-aws-lambda)

只需将导入更改为

const chromium = require('chrome-aws-lambda');

并调用 puppeteer 调用到

browser = await chromium.puppeteer.launch({
  args: chromium.args,
  defaultViewport: chromium.defaultViewport,
  executablePath: await chromium.executablePath,
  headless: chromium.headless,
  ignoreHTTPSErrors: true,
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 2019-02-15
    相关资源
    最近更新 更多