同種のGemはいっぱいあると思うけど、https://github.com/maxwell/screencap を使ってみたら、普通に動いたので良かった。
ブラウザとしてはPhantom.jsを使っているようだ。https://github.com/westoque/phantomjs.rb がdependencyに指定されているので勝手に入る)
path = File.expand_path("./path/to/index.html")
f = Screencap::Fetcher.new("file://#{path}")
screenshot = f.fetch(
output: "./path/to/screenshot.png",
width: 800,
height: 600,
debug: true
)
こんな感じでローカルのファイルのスクリーンショットを簡単に取得できた。
debug: true
は詳細なログを出してくれるので指定しておいた方がうまく行かなかった時の調査に役立つ。
FontAesomeが表示されなくて困ったけど、MacのFont Bookからフォントをシステムにインストールしちゃえばいけた。