[Document & Workflow] capybara-webkit で、コマンドラインからWebページのスクリーンショットをとる

ブラウザでキャプチャをとりたい時に、Extension がうまく動いてくれなくて困ることがあるので解決できないか。

[markdown]
うまくとれないサイトを忘れてしまったので検証できないけれども、cli で解決できる方法を探してみたら、capybara-webkit を使う方法を見つけたので試してみました。

> * [Ruby – capybara-webkitでWebページのスクリーンショットを撮る2013 – Qiita [キータ]](http://qiita.com/9m/items/080fc11f4da3f059d24c)
> * [capybara-webkitでwebページのスクリーンショットを撮る – 橋本詳解](http://d.hatena.ne.jp/shokai/20120302/1330670227)

## インストール

Qt に依存しているそうなので、この順番で入れます。

> * [Qt Project](http://qt-project.org/)
> * [thoughtbot/capybara-webkit](https://github.com/thoughtbot/capybara-webkit)

“`prettyprinted
brew install qt
gem install capybara-webkit
“`

こちらも参考に、URIを渡してキャプチャする形式にしてみる。

> * [ウェブページをまるごとキャプチャする](https://gist.github.com/shin1ohno/2841546)
> * [feedからurlにアクセスしてスクリーンショット撮ってgif作成するやつ](https://gist.github.com/soramugi/6402457)

ss.rb というファイルを作ります。

“`ruby
require ‘rubygems’
require ‘capybara-webkit’
filename = ARGV[0].to_s.gsub(“http”, “”).gsub(“://”,””).gsub(/[\. [\/ \:]]/, “_”) + “.png”
p “printing… #{filename}”
driver = Capybara::Webkit::Driver.new(‘web_capture’).browser
driver.visit ARGV[0].to_s
driver.render(“#{filename}”, 1280, 650)
“`

## 使い方

キャプチャできました。

“`prettyprinted
% ruby ss.rb https://www.d-wood.com
“printing… www_d-wood_com.png”
“`

ちょっと見た感じでは、下記の2点が反映されていない。

* 左上にマウスカーソルと、セレクトフォームが表示されてしまう。
* Web Font が反映されていない。

Capybara で設定することができそうな気もするんだけれども、それっぽいドキュメントも見つけられず終了。

* [www_d-wood_com.png](https://www.d-wood.com/wpmt/wp-content/uploads/2013/12/www_d-wood_com.png)
[/markdown]