2010年10月11日月曜日

RubyのwatirでGoogle Chromeを自動操縦

とある実験を行うため、Google Chromeを自動操縦する必要があったので、Rubyのwatirというライブラリでそれをやってみました。
ただ一つ注意すべきなのは、watirは、Ruby 1.8.6でしか動かないということです。ちょっと使いづらいですね。


環境
・Ubuntu 10.04 Desktop 64bit
・Ruby 1.8.6
・watir-webdriver 0.1.1


まずは、RVMにRuby 1.8.6をインストールします。
$ rvm install 1.8.6

RVMのインストール方法がわからないという人は、こちらを参考にしてみてください。
Ubuntu 10.04で、Ruby 1.9.2 + Rails 3.0 + DataMapper on Herokuをやってみた


次に、Google Chromeを動かすための"watir-webdriver"をインストールします。
gem install watir-webdriver


これで準備が整いました。
下記の例では、Gmailに自動ログインし、10秒おきにリロードするという処理を行っています。

require "rubygems"
require "watir-webdriver"

browser = Watir::Browser.new(:chrome)
browser.goto("http://gmail.com")
browser.text_field(:id => "Email").set "enteryourusername"
browser.text_field(:id => "Passwd").set "enteryourpassword"
browser.button(:id => "signIn").click
loop do
  browser.refresh
  sleep 10
end


このライブラリは、アイデア次第で、いろいろ活用できそうですね。

0 件のコメント:

コメントを投稿