SeleniumをDockerで試してみた

Seleniumのchrome版を使ってみました。

stand alone版を使ったのですが思った以上に簡単に使えました。Gridを使った接続はまた今度試してみようと思います。

docker pull

まずイメージをpullします。

$ docker pull selenium/standalone-chrome

起動

4444ポートで起動するのでそれを外部からアクセスできるように指定します。

$ docker run -d -p 4444:4444 selenium/standalone-chrome

使い方

今回Rubyを使って試しました。

Gemfileに記入してbundle installをします。

$ echo "gem 'selenium-webdriver'" >> Gemfile
$ bundle install

SeleniumDriverで公開したポートの/wd/hubを指定して繋げます。

# app.rb
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :remote, url: "http://localhost:4444/wd/hub", desired_capabilities: :chrome
driver.navigate.to "https://blog.kozakana.net/"

sleep(1)

puts driver.title
driver.save_screenshot('./screenshot.png')
driver.quit

出力結果

煮卵もんすたー
Selenium screenshot