Mac上的伪造者/铬长期提示“接受传入的网络连接?”

Eri*_*mig 11 macos firewall chromium

我有一个使用puppeteer来测试网站的节点应用程序。直到我们更新到最新的puppeteer 1.12.2为止,我们都没有问题。

  1. 节点在计时器上启动puppeteer
  2. 在每次启动时,系统都会询问:“您是否要让应用程序Chromium.app接受传入的网络连接”

在“安全和隐私”设置的“防火墙”选项卡中,专门为Chromium设置了ACCEPT。(并且我们也尝试将其关闭)在这一点上似乎没有令人愉悦的MacOS。

关于如何使MacOS安静并识别/保留防火墙首选项的任何建议吗?

LeO*_* Li 14

升级我们的 puppeteer 和 MacOS 后,我们遇到了同样的问题。一个解决方案,我们已经是指示操纵木偶的人使用我们自己的浏览器,而不是捆绑的通过指定executablePath。下面是我们如何指定它的 Typescript 片段。如果你使用 vanilla 也是一样的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'
        });
      }
Run Code Online (Sandbox Code Playgroud)

希望它也适用于您。:-)

  • Puppeteer 仅保证可以与它捆绑的 chromium 版本一起使用。这样做的风险由您自己承担 (4认同)

usa*_*don 7

另一种选择是自签名证书,请按照此评论中的说明进行操作:

https://github.com/GoogleChrome/puppeteer/issues/4752#issuecomment-524086077

这里更详细地说明如何打开证书创建者:https : //support.apple.com/en-gb/guide/keychain-access/kyca2686/mac

然后在你的 repo 的根目录中运行:

sudo codesign -s MyCertificateName -f ./node_modules/puppeteer/.local-chromium/mac-674921/chrome-mac/Chromium.app --deep