让 Chrome 在无头模式下运行

Ser*_*nev 5 google-chrome google-chrome-headless

我想在无头模式下使用 Chrome 浏览器从 SVG 图形生成图像(PNG、JPEG)。代码在正常交互模式下工作,但在无头模式下使用它时遇到问题。

我的主要问题是无头 Chrome 在 HTML 页面绘制完成之前退出。据我了解,如果我使用以下参数启动 Chrome:

chromium --headless http://myserver.org

document.onload它与事件一起退出。但此时并非所有数据都从服务器获取(我使用 XMLHttpRequest),因此绘图尚未完成。

如果我在启用调试端口的情况下启动 chrome,我找到了解决方法,例如:

chromium --headless --remote-debugging-port=7777 http://myserver.org

但这不是我想要的,尤其是当我没有在节点上打开 http 端口的权限时。是否有可能让 Chrome 使用其他标志运行更长时间?我查了很多但没有找到合适的。或者还有其他方法可以推迟无头 Chrome 的退出吗?

小智 4

您可以尝试这个答案/sf/answers/3249682901/

复制粘贴到这里供参考

直接使用二进制文件 /opt/google/chrome/chrome 而不是 google-chrome,它指向 bash 脚本 /usr/bin/google-chrome。

摘自评论中

https://developers.google.com/web/updates/2017/04/headless-chrome#screenshots

  • 是的,似乎“--repl”标志是在加载所有脚本后保持无头 Chrome 运行的可能方法。感谢您的好提示! (2认同)