pyppeteer 报错-无法连接到浏览器

问题

程序报错:

Failed to connect to browser port: http://127.0.0.1:57899/json/version

原因

虽然pyppeteer在首次启动时会自动下载chrome浏览器,但是并不会安装相关的依赖项,需要手动安装。

解决

在ubuntu或者debian上,可以参考 BrowserError: Failed to connect to browser port #82 这里,安装相关依赖项。

本人在centos最小化安装上测试,需要安装:

  1. libXcomposite
  2. libXcursor
  3. libXi
  4. libXtst
  5. libXScrnSaver
  6. libXrandr
  7. atk
  8. at-spi2-atk
  9. gtk3
sudo yum install libXcomposite libXcursor libXi libXtst libXScrnSaver libXrandr atk at-spi2-atk gtk3 -y

安装上述依赖后,程序正常运行。

另外需注意,如果使用root用户调用pyppeteer,则需要在 launch 中增加参数:--no-sandbox 才能正常运行。

补充

由于我自己的测试环境并非完全干净,所以有可能有遗漏。

你可以在路径: ~/.pyppeteer/local-chromium/xxxxxx/chrome-linux/ 下找到 pyppeteer 所使用的 chrome 。通过直接启动这个 chrome 观察报错以确定它还缺少哪些依赖。逐个安装即可。

事实上,我自己就是这样测试的,逐个发现并安装,直到 chrome 能够正常启动为止。


原文发布于 pyppeteer 无法连接到浏览器

原文地址:https://www.cnblogs.com/chr-wonder/p/9317116.html