読者です 読者をやめる 読者になる 読者になる

RubyからSelenium使う時にPhantomJSにコマンドライン引数を渡す

phantomjs.cli.argsというキーに配列で指定すればいける。

require 'selenium-webdriver'

options = {
  "phantomjs.cli.args" => ["--ssl-protocol=tlsv1"]
}
capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs(options)
wd = Selenium::WebDriver.for :phantomjs, :desired_capabilities => capabilities

selenium-webdriverにはPhantomJS用のdriverが用意されてて、
PhantomJSがインストールされてれば、すぐに使えたんですが、
SSLなページにアクセスできませんでした。

ググったら、以下の情報が見つかり、

PhantomJS でネットワークのデバッグと SSL handshake failed - Please Sleep

原因はわかったんですが、phantomjsコマンドに引数を渡す方法が見つかりませんでした。
で、しょうがなくソースを見てみたら、すぐ見つかりました。
わかりやすいコードで良かったぁ