RubyでSelenium入門

こんにちは!

最近、Ruby気持ちいい!!!って思ってるたがみです。
Ruby触りたいけどちょっと・・・とかSeleniumもいじってみようかなぁ・・・と思っている人が、簡単に、手早く、ぱぱっと動かしたい人向けの記事になってます。

それではいってみましょう!

Seleniumを動かす環境をつくる

それでは実際にSeleniumを動かしていきましょう。

Rubyはインストールしてある前提で書いていきます。

Seleniumを動かすためのgemをインストールします。

$ gem install selenium-webdriver

あとはFirefoxをインストールしておいてください。
Chromeでも大丈夫そうですが、自分の環境ではうまく動かなかったので。

これだけです!
なんとも簡単!それでは軽く動かしてみましょう!!

実際に動かしてみる

それでは実際にSeleniumでFirefoxを動かしてみましょう。

ここではTwitterのトップページに飛んでみます。

といってもとても簡単で以下のコードで動きます。

twitter.rb

#coding: utf-8

require 'rubygems'
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox
driver.navigate.to "http://twitter.com"

たったこれだけです!なんということでしょう〜〜

これだけだとつまんないので今のTwitterのトップページからログインしてみようと思います。

以下のコードでログインすることが出来ます。

id = driver.find_element(:id, "signin-email")
pass = driver.find_element(:id, "signin-password")

id.send_keys("TwitterのID")
pass.send_keys("Twitterのパスワード")

driver.find_element(:class, 'password-signin').find_element(:tag_name, 'button').click

コードもとても直感的で、

  • IDとパスワードを入力する入力欄を取得する
  • 入力欄に対して文字列を流し込む
  • ログインボタンをクリックする

という流れです。どうですか?Rubyだとこんなに簡単に、直感的に書けるんだなぁと改めて感じました。

最後に

超簡単な流れでしたがどうでしたか?
軽くいじれることがわかったかと思います。
他にもデータを取得したり、スクロールしたりすることも出来るので色々触ってみてください。

参考URLは以下になります。

RubyでSeleniumを使ってスクレイピング
selenium-webdriverドキュメント

そろそろ僕もRubyを学ばなければならないようです。

たのしいRuby 第4版

posted with amazlet at 14.01.03
高橋 征義 後藤 裕蔵
ソフトバンククリエイティブ
売り上げランキング: 29,228