watirでIE自動操縦

RubyのMechanizeが、a要素のhrefがjavascriptだと手も足も出ないことを初めて知ったので、それ以外でスクレイピングっぽいことできるやつないかなーと探したらwatirというのがあった。


http://wiki.openqa.org/display/WTR/Project+Home

この綴りで「うぉーたー」と読むらしい。海外にも熟字訓ってあるんだね。


参考にしたところ
http://d.hatena.ne.jp/kitamomonga/20080612/p1


インストールだけど、最初Cygwinに作ってたんだけど不思議なパーミッションエラーが出まくって爆発したので、http://rubyforge.org/projects/rubyinstaller/に逃げた。Cygwinと併用するとRUBYOPTが悪さしてどうのこうのって話あるらしいので注意がいるっぽい。気にしない。


One-Click Ruby Installerで「Rubygemもいっしょにいれますか?」的なチェックボックスにチェックにすると一緒にrubygemsが入る。
しばらくインストール。


インストール後、コマンドプロンプトからwatirを入れてく。

gem install watir -p http://proxy.exsample.com:8080/

pオプション付けるとプロキシ通ってくれるんだね。最近まで知らなかった。


で、windows-prというのがOne-Click Ruby Installerで入るけど、バージョンが古くてアップデートが必要。0.9.3から最新にアップデートします。

情報は以下で発見。最後の署名で吹きかけた。
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/327056?326957-328937

gem update windows-pr -p http://proxy.exsample.com:8080/

あとは適当にテストコード動けばOK。

require "watir"

ie = Watir::IE.new
ie.goto("http://www.google.co.jp")

ie.text_field(:name, "q").set "おっぱい"
ie.button(:name, "btnG").click

今回は、IEが動けばよかったのでそれしかしてないけど、Linux上でFirefoxとかもできるそうな。
本当はLinuxでやりたかったけどGUI使えるような上等なLinuxマシン無かったのでWindowsなのでした。