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に出力できます。
解像度決め打ちで、コマンドラインが使えるので、例えばマニュアル作成の時など、同じ解像度のスクリーンショットが複数枚必要な場合、効率が良いかもしれないですね。
参考: