iMacrosでwebページの操作を自動化して快適な気分
iMacrosというFirefoxアドオンがあって、最近使い始めてみると、これが素晴らしい快適さ!まだ、ちゃんと使いこなせているとは言えない状態だが、とても魅力を感じる。iMacrosはあらゆるwebページをGUIレベルで自由に操作できるスクリプト言語だと言える。ちょうどAppleScriptやVBでMacやWindowsを操作するように、iMacrosでFirefoxに表示したwebページを自由の操作できる。(IE版も存在するようだ)
- webページでの自分の操作を「記録」することができるので、それを「再生」することで同じ操作が再現される。
- 操作はiMacrosマクロとして記録され、ちょっと修正すれば汎用性の高いマクロになる。
- 記録したマクロは、ブックマークレットやページ埋め込みのリンクとしても書き出せる。
いくら説明を読んだとしても、百読は一操作にしかず。こうゆうものは、実際に使ってみないと何なのか実感できないので、実際に操作してみた。
実際の操作
以下のようなフォームがあったとして...
- FirefoxツールバーのiMacrosボタンを押して、「Rec」タブの「Record」ボタンを押して記録開始
- 複数タブを開いていると、最初にその他すべてのタブを閉じてから記録するか確認される。「OK」を押すと現在表示中のページを残してその他すべてのタブが閉じてしまうので注意が必要。
- 「Click Mode」ボタンを押して「Use complete HTML tag」を選択した。(iMacrosの記録形式の選択*1)
- あとはひたすらフォームに入力してみた。
- フォームの入力が終わったら「Stop」ボタンを押すと記録モードが終了する。
- 今までの操作は「#Current.iim」というファイルに保存されている。
- iMacrosの「Edit」タブを選択して、「Edit Macro」ボタンを押すと以下のようなマクロとして記録されていた。
VERSION BUILD=6050612 RECORDER=FX TAB T=1 URL GOTO=http://d.hatena.ne.jp/zariganitosh/20080713/1216014813 TAG POS=1 TYPE=SELECT FORM=ACTION:/customers/1/order_infos ATTR=ID:order_info_delivery_service CONTENT=2 TAG POS=1 TYPE=SELECT FORM=ACTION:/customers/1/order_infos ATTR=ID:order_info_delivery_date CONTENT=16 TAG POS=1 TYPE=SELECT FORM=ACTION:/customers/1/order_infos ATTR=ID:order_info_delivery_time CONTENT=4 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/customers/1/order_infos ATTR=ID:customer_name CONTENT=zariganitosh TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/customers/1/order_infos ATTR=ID:customer_postcode CONTENT=1234567 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/customers/1/order_infos ATTR=ID:customer_adress CONTENT=東京都新宿区代々木10000-1 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/customers/1/order_infos ATTR=ID:customer_phone CONTENT=09012345678 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/customers/1/order_infos ATTR=ID:customer_mail CONTENT=zariganitosh@mycompany.com TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/customers/1/order_infos ATTR=ID:order_info_delivery_for_customer CONTENT=YES TAG POS=1 TYPE=INPUT:RADIO FORM=NAME: ATTR=ID:order_info_payment_代引き
- 今度は入力フォームを一旦クリアするために、FirefoxのURLバーを選択して、returnキーを押して再読み込みしてみる。(入力フォームがクリアされた)
- iMacrosの「Play」タブで、「Play」ボタンを押してみると...感動です!先程と同じ操作が再現されていく様が目の前で起こっている!
記録したマクロの保存方法
- 「#Current.iim」ファイルに記録されたマクロは一時的なファイルなので、そのままでは例えば次回マクロ記録を実行した時などのタイミングで、上書きされて消えてしまう。だから...
- iMacrosの「Edit」タブで、「#Current.iim」ファイルを選択して「Save」ボタンを押して保存すれば、好きなファイル名でずっと保存することができる。
- iMacrosの「Edit」タブで、「#Current.iim」ファイルを右クリックして「Add bookmark」を選択する*2と、Firefoxのブックマークに登録したり、del.icio.us等のソーシャルブックマークサービスへ登録することも出来る*3。素晴らしい!
...ということで、埋め込みリンクとしても保存してみた。(iMacrosがインストールされた状態でクリックしたときだけ実行される。)
- このリンクを押すとフォーム入力を開始する。(ブックマークバーにドラッグすれば、ブックマークレットにもなる。)
- ブックマークレットの文字数制限のことが気になったが、自分の環境で利用する限り13000文字を超えるマクロ(上記スクリプトを適当に複数回コピーして長くしたもの)をリンクに埋め込んだり、ブックマークレットにしても、問題なく動いた。
素晴らしい使い心地!今までの自分を振り返って、実にいろいろなことに応用できそうだ。
想像する明るい未来
今時の会社は、個人情報保護とか、機密管理とか、セキュリティーについて相当神経質になっていて、勝手にiMacrosなんか使いだすと怒られそうな気もするが、余分なことは抜きにして明るい未来を想像してみた。
自動ログイン
- 銀行の振込・照会サービス等のwebページでは、厳格なセキュリティを考えてのことか、ブラウザ標準のパスワード保存機能を、故意に利用できない作りにしていることが多い。
- iMacrosを利用すれば、どのようなページであっても簡単に自動ログインが可能になる。(自分のログイン操作を一度記録するだけ)
繰り返す処理を自動化
- 会社の業務とは、繰り返しの連続だ。毎日、毎週、毎月、毎年と、一旦業務として確立されれば、あらゆるレベルの繰り返しをより効率的に、より正確に実行することが求められる。
- iMacrosを利用すれば、究極の効率化と正確さを両立できそうだ。
- 会社業務に限らず、個人的なwebサービスの利用だって自動化してしまえば良い。例えば、定期的なお茶やコヒーの発注とか、ワンクリックで完了すると気持ちいい。
解決できない問題
- 日本語文字がマクロに含まれると、ブックマークレットや埋め込みリンクから実行が出来ない。(iMacrosサイドバーからは問題なく実行できる。)
- 実は、上記の「このリンクを押すとフォーム入力を開始する。」を実行しても「住所」と「支払方法」は未入力の状態になる。(日本語文字が含まれるので、リンクからiMacrosが実行できなくなってしまうので、問題部分を削除したのでした。)
- サイドバーからiMacrosファイルを選択して実行する場合は日本語文字を含んでも問題なく実行できるのだが、時に、埋め込みリンクとして日本語が扱えないことにすごく不便を感じることもある。
-
-
- どなたか解決策をご存知の方がいらっしゃれば、是非教えて頂きたいです...。
-