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
出力結果
煮卵もんすたー