💨
seleniumをrubyでやってみた
はじめに
本記事は、筆者による理解の復習・確認やアウトプットの練習のために書いております。
間違った解釈等ございましたら、ご連絡いただけますと幸いです。
Seleniumとは?
Selenium は、 Webアプリケーションをテストするためのポータブルフレームワークである。
Selenium は、テストスクリプト言語(Selenium IDE)を学ぶ必要なしに、機能テストを作成するための再生ツールを提供する。
引用: Selenium (ソフトウェア)
手順
1.rubyファイル, フォルダ作成(.rb)
mkdir selenium-ruby # フォルダ作成
cd selenium-ruby # selenium-rubyフォルダに移動
touch selenium-ruby.rb # selenium-ruby.rbを作成
2.selenium-webdriverのインストール
gem install selenium-webdriver
3.自動化するコードを書く
# selenium-webdriverを取り込む
require 'selenium-webdriver'
# ブラウザの指定(Chrome)
session = Selenium::WebDriver.for :chrome
# 10秒待っても読み込まれない場合は、エラーが発生する
session.manage.timeouts.implicit_wait = 10
# ページ遷移する
session.navigate.to "https://google.com/"
# ページのタイトルを出力する
puts session.title
# 検索フォームの取得(この場合はname属性で取得している)
query = session.find_element(:name, 'q')
# "zenn"を自動入力する
query.send_keys('zenn')
# 送信(検索)
query.submit
# 5秒遅延(処理が早すぎてページ遷移前にスクリーンショットされてしまうため)
sleep(5)
# スクリーンショットをして"zenn.png"で保存する(保存される場所は、コード実行箇所)
if session.save_screenshot('zenn.png')
# スクリーンショットができたら出力する
puts "スクリーンショットされました!"
end
# ブラウザを終了
session.quit
おそらくこのまま実行してもエラーが出ると思います。
session = Selenium::WebDriver.for :chrome
unable to connect to chromedriverというエラーが表示されます。
chromeのWebDriverのインストールが必要になります。
5. ブラウザのWebDriverのインストール
FireFoxだとGeckoDriverになります。
今回はChromeなのでChromeDriverですが、brew install chromedriver
6.完成
自動で行うことができました。
無事、zennで検索した後のスクリーンショットをコード中で書いた出力もちゃんとされてます!
引用・参考URL
Discussion