watirを使ってRubyからブラウザを起動する

watirというのを利用すればブラウザをRubyから呼び出すことができる.元々自動テストをするためのものなようなので,テキストフィールドに入力したり,クリックしたりもできる.詳しくは公式サイト.
http://watir.com/
今回はMacSafariを呼び出すので,safariwatirを使います.

$ sudo gem install rb-appscript
$ sudo gem install safariwatir

例えば,Googleカレンダーにログインしたいときは以下のような感じ.

require "rubygems"
require "safariwatir"
 
browser = Watir::Safari.new
browser.goto("http://www.google.com/calendar")
browser.text_field(:name, "Email").set("USER_NAME")
browser.text_field(:name, "Passwd").set("PASSWORD")
browser.button(:name, "signIn").click

<101104追記>
GoogleカレンダーみたいにUsernameとPassを使ってログインするプログラムを上記のように書くと,すでにログイン済みの場合,GoogleカレンダーのHPにアクセスしても,ログイン済みのためテキストボックスが見つからずエラーがはかれる.
そこで,とりあえず簡単にページ内に含まれる言葉でどのページにいるのかということを判定して,ログイン画面にいればログインするようにする.

if browser.text.include? "KEYWORD"
    #KEYWORDがあるときの処理
else
    #KEYWORDがないときの処理
end