因为我从服务器运行Puppeteer,我需要特定版本的Chrome,我想我会尝试只使用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安装,或者它应该在理论上与最新版本工作?
由于防火墙的问题,这是不容易测试,但我将通过圈,如果它是必要的木偶只使用它自己的Chrome版本。
它应该工作,但你需要确保Chrome版本与木偶版本兼容。https://pptr.dev/chromium-support
您可以使用env varDEBUG=puppeteer:*
运行,以进一步了解为什么它不起作用。