我有一个使用puppeteer来测试网站的节点应用程序。直到我们更新到最新的puppeteer 1.12.2之前,我们都没有问题。
在“安全性和隐私”设置的“防火墙”选项卡中,专门为Chromium设置了ACCEPT。 (而且我们也尝试过将其关闭)在这一点上似乎没有令人愉悦的MacOS。
关于如何使MacOS安静并识别/保留防火墙首选项的任何建议吗?
答案 0 :(得分:2)
另一种选择是自签名证书,请按照此注释中的说明进行操作:
https://github.com/GoogleChrome/puppeteer/issues/4752#issuecomment-524086077
在此详细介绍如何打开证书创建者:https://support.apple.com/en-gb/guide/keychain-access/kyca2686/mac)
然后在回购的根目录中运行:
sudo codesign -s MyCertificateName -f ./node_modules/puppeteer/.local-chromium/mac-674921/chrome-mac/Chromium.app --deep
答案 1 :(得分:0)
升级puppeteer和MacOS之后,我们遇到了同样的问题。我们必须采取的一种解决方案是通过指定executablePath
来指示木偶使用我们自己的 Chrome 而不是捆绑的 chromium 。以下是我们如何指定打字稿的代码段。如果您使用香草JS
,也是一样。
有时还不够,我们必须使headless
选项 false 使其始终有效,这确实很烦人。
/**
* create a puppeteer 'Browser' object.
*/
public static createBrowser(): Promise<Browser> {
return puppeteer.launch({
// ... other options
headless: false,
executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
});
}
希望它也对您有用。 :-)