WSL環境のRubyにて、selenium(Firefox)を利用する
事前準備
必要なライブラリのインストール
firefoxをインストール
sudo apt-get update
sudo apt-get install -y firefox
firefoxのバージョンを確認
firefox --version
geckodriverをインストール
wget https://github.com/mozilla/geckodriver/releases/download/v0.28.0/geckodriver-v0.28.0-linux64.tar.gz
tar zxvf geckodriver-v0.28.0-linux64.tar.gz
chmod +x geckodriver
sudo mv -f geckodriver /usr/local/share/geckodriver
sudo ln -s /usr/local/share/geckodriver /usr/local/bin/geckodriver
sudo ln -s /usr/local/share/geckodriver /usr/bin/geckodriver
動作確認
- パッケージの変更
Gemfile
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "webdriver"
gem "selenium-webdriver"
- パッケージの反映
bundle install
- Rubyのサンプルコード
test.rb
require "selenium-webdriver"
opts = Selenium::WebDriver::Firefox::Options.new(args: ['--headless'])
driver = Selenium::WebDriver.for(:firefox, options: opts)
driver.navigate.to "https://google.com/"
puts driver.title
driver.quit
- 動作確認
ruby test.rb
参考
-
Selenium WebDriverでRubyのテストを行う方法【初心者向け】
https://techacademy.jp/magazine/18704 -
RubyとSeleniumでHeadless chromeを動かす on Ubuntu/Linux
https://qiita.com/meguroman/items/41ca17e7dc66d6c88c07 -
【完全版】PythonとSeleniumでブラウザを自動操作(クローリング/スクレイピング)するチートシート
https://tanuhack.com/selenium/