WSL環境のRubyにて、selenium(Chrome)を利用する
事前準備
必要なライブラリのインストール
sudo apt-get update
sudo apt-get install -y libappindicator1 fonts-liberation
ヘッドレスモードを使用できるchromeをインストール
sudo apt install gdebi-core wget unzip
sudo gdebi google-chrome-stable_current_amd64.deb
Chromeのバージョンを確認
google-chrome --version
chromedriverのインストール
現在インストールされている google-chrome に対応する chromedriver をダウンロードする
https://sites.google.com/a/chromium.org/chromedriver/
curl -O https://chromedriver.storage.googleapis.com/87.0.4280.88/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
動作確認
- パッケージの変更
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"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
driver = Selenium::WebDriver.for(
:chrome,
options: options
)
driver.navigate.to "https://www.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/