TIESのブログ

Chrome59でスクリーンショット撮影

Google Chromeのバージョンが59になったのですが、このChrome59から、スクリーンショットを撮影する方法が加わりました。

1点は窓の杜の記事にもある通り、Chromeの開発者ツールから撮影する方法です。この機能、Firefoxには既にあったそうですね。便利。

もう1点はヘッドレスモードを使って、コマンドラインでスクリーンショットを撮影する方法です。
ヘッドレスモード、あまりなじみのない言葉ですが、窓の杜の同記事によればページの単体テストを自動化したり、動的ページのスクレイピングを行ったり、スクリーンショットを撮影するといった用途に利用可能とのこと。

今のところWindowsでは実装されていないようなので、Macで試してみます。例えば1024x768のスクリーンショットを撮影する場合。

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --disable-gpu --screenshot --window-size=1024,768 http://www.cccties.org/

--window-sizeにはヘッドレスChromeが動作する(スクリーンショットを撮影したい)画面の大きさを書きます。これ書かないと、スクリーンショットが途中で途切れたりします。

--window-sizeを指定したことで、横解像度がばっちり合いました。でもちょっと縦解像度が足りへんのとちがう?

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --disable-gpu --screenshot --window-size=1024,2048 http://www.cccties.org/

2048まで増やしてみました。

おー、ええやん。ちなみに、--screenshotの代わりに--print-to-pdfとすると、PDFに出力できます。

解像度決め打ちで、コマンドラインが使えるので、例えばマニュアル作成の時など、同じ解像度のスクリーンショットが複数枚必要な場合、効率が良いかもしれないですね。

参考:

Chrome59でスクリーンショット撮影 はコメントを受け付けていません