以无头模式运行Chrome

时间:2018-03-05 05:07:40

标签: google-chrome google-chrome-headless

要在无头模式下运行 chrome ,我做了

  

alias chrome =" / Applications / Google \ Chrome.app/Contents/MacOS/Google \   铬"

     

chrome --remote-debugging-port = 9222 --disable-gpu --headless

在控制台中,但是,我收到了这个错误,

  

[0305 / 140111.481537:错误:xattr.cc(64)] setxattr   org.chromium.crashpad.database.initialized on file   / var / folders / m3 / 92mmh21n0cx4ppf8c3bcns38hd4_kk / T /:操作不   允许(1)[0305 / 140111.484254:错误:xattr.cc(64)] setxattr   org.chromium.crashpad.database.initialized on file   / var / folders / m3 / 92mmh21n0cx4ppf8c3bcns38hd4_kk / T /:操作不   允许(1)[0305 / 140111.484254:INFO:crashpad_client_mac.cc(292)]   在0.983s重启处理程序   [0305 / 140111.513641:错误:gpu_process_transport_factory.cc(1009)]丢失   UI共享上下文。 [0305 / 140111.513709:错误:instance.cc(49)]无法使用   找到指标的服务清单   [0305 / 140111.513733:错误:service_manager.cc(890)]无法解决   服务名称:metrics [0305 / 140111.514229:错误:socket_posix.cc(142)]   bind()返回错误,errno = 48:地址已在使用中(48)

     

DevTools正在倾听   WS:// [:: 1]:9222 / devtools /浏览器/ c46563ca-1891-48bd-bdd6-e6122f3f3b5d   [0305 / 140112.484141:错误:xattr.cc(64)] setxattr   org.chromium.crashpad.database.initialized on file   / var / folders / m3 / 92mmh21n0cx4ppf8c3bcns38hd4_kk / T /:操作不   允许(1)[0305 / 140112.484641:INFO:crashpad_client_mac.cc(292)]   在0.985s中重启处理程序[0305 / 140113.489618:错误:xattr.cc(64)]   setxattr org.chromium.crashpad.database.initialized on file   / var / folders / m3 / 92mmh21n0cx4ppf8c3bcns38hd4_kk / T /:操作不   允许(1)[0305 / 140113.490274:INFO:crashpad_client_mac.cc(292)]   在0.979s中重启处理程序[0305 / 140114.484881:ERROR:xattr.cc(64)]   setxattr org.chromium.crashpad.database.initialized on file   / var / folders / m3 / 92mmh21n0cx4ppf8c3bcns38hd4_kk / T /:操作不   允许(1)[0305 / 140114.485349:INFO:crashpad_client_mac.cc(292)]   在0.985s中重启处理程序[0305 / 140115.489188:错误:xattr.cc(64)]   setxattr org.chromium.crashpad.database.initialized on file   / var / folders / m3 / 92mmh21n0cx4ppf8c3bcns38hd4_kk / T /:操作不   允许(1)[0305 / 140115.489638:INFO:crashpad_client_mac.cc(292)]   在0.985s重新启动处理程序

我也试过了,

  

/ Applications / Google \ Chrome.app/Contents/MacOS/Google \ Chrome   --remote-debugging-port = 9222 --disable-gpu --headless

但我得到同样的错误。

有没有解决方案?

3 个答案:

答案 0 :(得分:6)

我从Chrome crashpad crashes on xattr

得到答案

为"崩溃转储"提供不同的目录。启动Chrome时,如下所示:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --disable-gpu --headless --crash-dumps-dir=/tmp

答案 1 :(得分:1)

更新3/6
我在自己的MacBook上检查了解决方案,但它确实有效。

我今天遇到同样的问题,在搜索了一些文档之后,我怀疑这是由于MacOS中的SIP(System Integrity Protection) feature,有了这个限制,即使你不能修改/var文件夹下的文件拥有root权限。

因此here是禁用该功能的方法:

  1. 关闭Mac(Apple>关机)。
  2. 按住Command-R并按电源按钮。继续按住Command-R,直到出现Apple徽标。
  3. 等待OS X启动进入OS X Utilities窗口。
  4. 选择实用程序>终端
  5. 输入csrutil disable。
  6. 输入reboot。

答案 2 :(得分:0)

添加以下命令标记

-disk-cache-dir=/tmp --user-data-dir=/tmp --crash-dumps-dir=/tmp

例如

chrome --headless --disable-gpu --screenshot --disk-cache-dir=/tmp --user-data-dir=/tmp --crash-dumps-dir=/tmp http://m.baidu.com

有关更多公共标志,请参见here