Rubyでブラウザを操作する!Watirを使ったブラウザ操作の自動化
仕事や普段の作業で、ブラウザを操作する作業がめんどくさいと感じていた。
- ブラウザ経由での勤怠情報入力
- 特定のサイトにアクセスしてのファイルアップロード
これを自動化することができないか?と調査していたところ、Rubyでプログラムを記述してブラウザを操作できるライブラリを発見。早速使ってみた。
※今回はひとまずUbuntu 13.10上で動作させている。
インストール
下記順でコマンド入力して、インストールした。(ruby-devがないとエラーが出る)
$ sudo apt-get install ruby-dev $ sudo gem install mini_magick $ sudo gem install watir
プログラム作成
Rubyプログラムを記述。今回は「Yahoo!にアクセスして、ヤフオクのリンクをクリックする」を自動化してみた。
require "watir" browser = Watir::Browser.new :firefox browser.goto('http://www.yahoo.co.jp') browser.link(:text, 'ヤフオク!').click browser.wait sleep 10 browser.close # ブラウザを閉じる
作ったプログラムを実行すると、Firefoxが起動しYahoo!へアクセスする。次にヤフオク!のページへ移動することが確認できた。
課題
やりたかったことは「特定サイトにアクセスし、ファイルアップロードする」だったが、まだ方法がわかっていない。(ファイルダイアログの操作方法が不明。。。)追加情報が見つかり次第、挑戦する。
参考
ドキュメント
Cheat Sheet · watir/watir Wiki · GitHub
HTML Elements Supported by Watir · watir/watir Wiki · GitHub