在 Windows 上测试我的项目后,我将其部署到基于 Ubuntu 的虚拟机上,这就是 Puppeteer 行为让我感到困惑的地方。我确实安装了所有必需的依赖项,但我有一种感觉,我的错误不一定是由于缺乏依赖项以及更多有关配置问题而引起的。
功能图:
async initPuppeteerBrowser() {
if (
this.puppeteerBrowser === null ||
(await this.puppeteerBrowser.pages()).length === 0
) {
this.puppeteerBrowser = await launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] });
}
return await this.puppeteerBrowser.newPage();
}
结果是:
err: {
"type": "TypeError",
"message": "Cannot read properties of undefined (reading '_launcher')",
"stack":
TypeError: Cannot read properties of undefined (reading '_launcher')
at launch (/root/dev/logoex-server/node_modules/puppeteer/lib/cjs/puppeteer/node/Puppeteer.js:125:21)
at CorporationsScraper.initPuppeteerBrowser (/root/dev/logoex-server/dist/aid/scraper/corporations.scraper.js:33:66)
at CorporationsScraper.corporationIterator (/root/dev/logoex-server/dist/aid/scraper/corporations.scraper.js:54:37)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
}
我不明白我该如何开始调查这个问题
不确定这是否对您的情况有帮助 -
我有 Typescript,带有编译器选项lib: ["es2020"]
它抛出了这个错误。将其更改为lib: ["es2017"]
为我解决了这个问题。我什至不确定,为什么会产生这样的影响。我想,当你通过导入获得一个函数时import { fn } from "somewhere"
但该函数以某种方式从类实例导出 - 它失去了它的绑定this
.
否则像这样导入就可以了
// Works
import Puppeteer, { Browser, PDFOptions } from "puppeteer";
browser = await Puppeteer.launch({});
// Doesn't work
import { launch, Browser, PDFOptions } from "puppeteer";
browser = await launch({});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)