Puppeteer无法在本地启动浏览器

时间:2020-07-01 11:54:34

标签: node.js web-scraping puppeteer

启动应用程序时,我一次又一次收到此错误。我本来应该将puppeteer重新安装8-9次,甚至下载“故障排除”链接中列出的所有依赖项。

错误:无法启动浏览器进程!生成/home/......./NodeJs/Scraping/code3/node_modules/puppeteer/.local-chromium/linux-756035/chrome-linux/chrome ENOENT

故障排除:https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

此代码仅用于截取google.com的屏幕截图 NodeJs版本-14.0.0 木偶版-4.0.1 Ubuntu版本-20.04 我正在使用与Chromium捆绑在一起的puppeteer

const chalk = require("chalk");
// MY OCD of colorful console.logs for debugging... IT HELPS
const error = chalk.bold.red;
const success = chalk.keyword("green");
(async () => {
    try {
        // open the headless browser
        var browser = await puppeteer.launch({ headless: false });
        // open a new page
        var page = await browser.newPage();
        // enter url in page
        await page.goto(`https://www.google.com/`);
        // Google Say Cheese!!
        await page.screenshot({ path: "example.png" });
        await browser.close();
        console.log(success("Browser Closed"));
    } catch (err) {
        // Catch and display errors
        console.log(error(err));
        await browser.close();
        console.log(error("Browser Closed"));
    }
})(); ```



1 个答案:

答案 0 :(得分:0)

正如您所说,puppeteer 2.xx可以完美地为您工作,但4.xx却不行:这似乎是linux依赖性问题,因为puppeteer 3.xx(通常为libgbm1是元凶)而发生的更多。

如果不确定您的Chrome可执行文件首次运行在哪里:

whereis chrome

(例如:/ usr / bin / chrome)

然后找到您缺少的依赖项,运行:

ldd /usr/bin/chrome | grep not

sudo apt-get install列出的依赖项。

发生这种情况后,您就可以在项目上使用最新的puppeteer aas进行干净的npm安装(到今天为止是5.0.0)。

相关问题