我可以在独立的 Chrome 上运行 Puppeteer 吗?

Can I run Puppeteer with a standalone Chrome?

提问人:Espen 提问时间:11/23/2022 更新时间:11/23/2022 访问量:303

问:

因为我从需要特定版本的 Chrome 的服务器运行 Puppeteer,所以我想我会尝试只使用 puppeteer-core。我的意思是,Puppeteer 有多具体,它需要自己的 Chrome 才能工作......?

因此,请尝试使用尽可能少的代码:

const puppeteer = require('puppeteer-core');

(async () => {

    const browser = await puppeteer.launch({ executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe' });
    await browser.close();

})();

这只会在 30 秒后超时,但有一个例外。它设法“找到”Chrome,因为没有错误,但它无法连接到调试器。我唯一能想到的是端口不匹配,但我认为这是使用 Puppeteer 的好处之一 - 无需处理端口。

但是,如果我在没有 Puppeteer 的情况下尝试使用chrome-launcher和chrome-remote-interface,我没有任何问题。

Puppeteer 是否如此敏感,以至于它需要自己安装 Chrome,还是理论上应该使用最新版本?

由于防火墙问题,测试起来也不容易,但如果 Puppeteer 有必要只使用它自己的 Chrome 版本,我会仔细研究。

node.js puppeteer chrome-remote-debugging

评论


答:

0赞 Oleksii Rudenko 11/23/2022 #1

它应该可以工作,但您需要确保 Chrome 版本与 Puppeteer 版本兼容。https://pptr.dev/chromium-support

您可以使用 env var 运行,以进一步了解它不起作用的原因。DEBUG=puppeteer:*