機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

RubyにおけるSelenium Webdriverの概要・使用方法

プログラミング

webdriverではブラウザのオートメーションが可能。
UIテストなどの他、色々勝手にブラウザ操作をやってもらうのにも重宝する。

インストール

プログラミング

gem install selenium-webdriver

リファレンス

プログラミング

https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings
http://seleniumhq.github.io/selenium/docs/api/rb/_index.html

element クラスメソッド

Selenium::WebDriver::Element。clickやsend_keyなどがよく使われる。

http://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Element.html

一定時間の待機

プログラミング

要素が出現するまで待機させることが可能

明示的待機

  wait = Selenium::WebDriver::Wait.new(timeout: 3)
  wait.until { driver.find_element(id: "cheese").displayed? }

暗黙的待機

  driver = Selenium::WebDriver.for :firefox
  driver.manage.timeouts.implicit_wait = 3 # seconds

javaScriptのダイアログ処理

プログラミング

You can use WebDriver to handle Javascript alert(), prompt() and confirm() dialogs. The API for all three is the same.

アラートなどを処理させることができる。アラートのオートメーション妨害を防ぐことが可能。

サンプル

driver.find_element(name: 'element_with_alert_javascript').click
a = driver.switch_to.alert
if a.text == 'A value you are looking for'
  a.dismiss
else
  a.accept
end

デバッグ

プログラミング

フルログを出力する
Selenium::WebDriver.logger.level = :debug

ファイルへ書き出す
Selenium::WebDriver.logger.output = 'selenium.log'

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Ruby windowsのソフトウェアを外部コマンドから開く・起動する
Ruby sinatra 使い方
Ruby hash キーが重複していた場合は2つの値を加算する
Ruby jrubyをインストールしてからGEMのパスが変わってしまった場合の対処
Rubyでhashや配列をeach_with_indexで最初と最後の処理だけ特別な処理をする
Rubyで配列の集合演算
Rubyでmechanizeでブログをキーワード検索して最初の投稿を取得する


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu