技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Chrome は実は裏で色々できる

Google Chrome は実はコマンドラインから色々できるという話です。
事の起こりは、Selenium でブラウザ起動もせずスクショが取れたことから。

で、調べて見たら出るわ出るわ…

ブラウザ表示せずスクショを取るあれこれ

ということで早速やってみる。
--headless --print-to-pdf (URL) を指定すると、

 % /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --print-to-pdf https://white-azalea.hatenablog.jp/
[1223/205258.121603:ERROR:xattr.cc(63)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/c6/_s3qbf0x5qg5fxfdhm__hp_40000gn/T/: Operation not permitted (1)
[1223/205258.122462:ERROR:file_io.cc(90)] ReadExactly: expected 8, observed 0
[1223/205258.123082:ERROR:xattr.cc(63)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/c6/_s3qbf0x5qg5fxfdhm__hp_40000gn/T/: Operation not permitted (1)
[1223/205258.476157:ERROR:command_buffer_proxy_impl.cc(122)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
[1223/205305.595811:INFO:headless_shell.cc(616)] Written to file output.pdf.

こんなログが流れるが

% ls -l
total 16224
-rw-------@ 1 armeria  staff  8305469 12 23 20:53 output.pdf

マジか!?

% /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --screenshot https://white-azalea.hatenablog.jp/
[1223/205945.105995:ERROR:xattr.cc(63)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/c6/_s3qbf0x5qg5fxfdhm__hp_40000gn/T/: Operation not permitted (1)
[1223/205945.107835:ERROR:file_io.cc(90)] ReadExactly: expected 8, observed 0
[1223/205945.109470:ERROR:xattr.cc(63)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/c6/_s3qbf0x5qg5fxfdhm__hp_40000gn/T/: Operation not permitted (1)
[1223/205945.475913:ERROR:command_buffer_proxy_impl.cc(122)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
[1223/205949.235907:INFO:headless_shell.cc(616)] Written to file screenshot.png.

f:id:white-azalea:20201223210042p:plain

参考

developers.google.com