node.js - nodejs 为什么我不能使用 puppeteer-core?
问题描述
我正在尝试使用puppeteer-core
,chrome-aws-lambda
因此可以将函数上传到 aws lambda,但是在本地运行脚本时出现错误,我尝试卸载并重新安装模块但仍然出现错误,这是我的代码
const chrome = require('chrome-aws-lambda');
const puppeteer = require('puppeteer-core');
(async () => {
const browser = await puppeteer.launch({
args: chrome.args,
executablePath: "/home/usern/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br",
headless: chrome.headless,
});
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
})();
它给了我这个错误,我不知道该怎么做才能解决它
(node:17811) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
/home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: 1: /home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: ���m�����鹲o�b�Vb%�]!yb: not found
/home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: 1: /home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: �6��d�11�l��L���: not found
/home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: 1: /home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: cannot open c: No such file
/home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: 1: /home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: i��D-mPL�-X�R: not found
/home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: 1: /home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: U�#.: not found
/home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: 2: /home/connor/Desktop/serverless/node_modules/chrome-aws-lambda/bin/chromium-75.0.3765.0.br: Syntax error: ")" unexpected
TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/home/connor/Desktop/serverless/node_modules/puppeteer-core/lib/Launcher.js:342:14)
at Interface.helper.addEventListener (/home/connor/Desktop/serverless/node_modules/puppeteer-core/lib/Launcher.js:331:50)
at Interface.emit (events.js:198:15)
at Interface.close (readline.js:394:8)
at Socket.onend (readline.js:172:10)
at Socket.emit (events.js:198:15)
at endReadableNT (_stream_readable.js:1139:12)
at processTicksAndRejections (internal/process/task_queues.js:81:17)
(node:17811) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:17811) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
解决方案
puppeteer-core
不包括chrome
与软件包不同的安装puppeteer
。
如果您希望puppeteer
在 Lambda 中使用,请尝试使用已经chrome
为您提供的 Lambda 层,例如https://github.com/RafalWilinski/serverless-puppeteer-layers。
推荐阅读
- javascript - Wix.com 查询。过滤多个类别脚本错误
- docker - docker-compose 卷不起作用
- r - 空白页安排_ggsurvplots Rstudio
- jquery - 等待异步 ajax 请求完成,尽管两者都是异步 true
- svg - 动态缩小图像
- sqlite - 使用 IN (SQLite) 在另一个表中搜索相似值
- java - 通过套接字发送命令使 javafx 图形界面显示和隐藏
- mysql - 使用 Workbench 正确格式化 SQL 函数
- matlab - graycomatrix 的 NumLevels 和 GrayLimits 是一回事吗 MATLAB
- c# - 基于实例化对象创建游戏对象或组件