Capybara と Phantomjs で ChatWork をアレしようと思ったら Capybara::Poltergeist::StatusFailError とかいわれてなにも取得できなくて困った。

Capybara と Phantomjs で ChatWork をアレしようと思ったら Capybara::Poltergeist::StatusFailError とかいわれてなにも取得できなくて困った。

取得できる HTML は

<html><head></head><body></body></html>

こんなんだし、status_code は nil だしで完全に困っていたが debug: true オプションをつけると題名のようなエラーが出ていたのでグーグル先生に聞くとこれ。

SSL のハンドシェイクでしくってるのでなにも取得できてなかったというわけで下記のようにすることで解決するようです。

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, {
                    js_errors: false,
                    timeout: 1000,
                    debug: true,
                    phantomjs_options: [
                              '--load-images=no',
                              '--ignore-ssl-errors=yes',
                              '--ssl-protocol=any']})
end

解決しました。