程序包:chrome-aws-lambda错误:导航失败,因为浏览器已断开连接

问题描述

我正在使用mocha,puppeteer并在AWS lambda中运行测试用例。我使用以下代码在浏览器中打开多个标签

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


let browerTabs = Array.from({length: 50}).map(() => {
  return openTab(browser)
})

const openTab = async (browser) => {
  try{
    url1 = process.env.URL || 'https://www.google.com/'
    let page = await browser.newPage();
    await page.goto(url1,{ waitUntil: ["load","networkidle2"] });
    const content = await page.evaluate(() => document.body.innerHTML);
  }catch(err) {
    console.log("browser tab open error ==> ",err)
  }
  return content
}

如果我要打开40个标签页,就可以正常工作。但是,如果我尝试打开50个标签,则会遇到以下问题。 RAM甚至没有使用30%。该错误的原因可能是什么?

在当地一切都很好

at /var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js:51:147
    at /var/task/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js:47:62
    at Array.map (<anonymous>)
    at Object.emit (/var/task/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js:47:43)
    at CDPSession.emit (/var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js:72:22)
    at CDPSession._onClosed (/var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:247:14)
    at Connection._onClose (/var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:128:21)
    at WebSocket.<anonymous> (/var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebSocketTransport.js:17:30)
    at WebSocket.onClose (/var/task/node_modules/ws/lib/event-target.js:129:16)
    at WebSocket.emit (events.js:315:20)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)