iMacrosでwebページの操作を自動化して快適な気分

iMacrosというFirefoxアドオンがあって、最近使い始めてみると、これが素晴らしい快適さ!まだ、ちゃんと使いこなせているとは言えない状態だが、とても魅力を感じる。iMacrosはあらゆるwebページをGUIレベルで自由に操作できるスクリプト言語だと言える。ちょうどAppleScriptVBMacWindowsを操作するように、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がインストールされた状態でクリックしたときだけ実行される。

素晴らしい使い心地!今までの自分を振り返って、実にいろいろなことに応用できそうだ。

想像する明るい未来

今時の会社は、個人情報保護とか、機密管理とか、セキュリティーについて相当神経質になっていて、勝手にiMacrosなんか使いだすと怒られそうな気もするが、余分なことは抜きにして明るい未来を想像してみた。

自動ログイン
  • 銀行の振込・照会サービス等のwebページでは、厳格なセキュリティを考えてのことか、ブラウザ標準のパスワード保存機能を、故意に利用できない作りにしていることが多い。
  • iMacrosを利用すれば、どのようなページであっても簡単に自動ログインが可能になる。(自分のログイン操作を一度記録するだけ)
繰り返す処理を自動化
  • 会社の業務とは、繰り返しの連続だ。毎日、毎週、毎月、毎年と、一旦業務として確立されれば、あらゆるレベルの繰り返しをより効率的に、より正確に実行することが求められる。
  • iMacrosを利用すれば、究極の効率化と正確さを両立できそうだ。
    • webサービスを利用した預金口座の取引照会もワンクリックでデータのダウンロードまで完了する。おそらく、定期的に巡回するようにも出来るはず。
    • 最近の会社の管理システムは、自社サーバーのwebサービスとして提供されることが多い。消耗品の発注から、支払伝票の作成や交通費の立替請求等、あらゆる業務の雛形を自分仕様のiMacrosマクロに登録して効率化できそう。
  • 会社業務に限らず、個人的なwebサービスの利用だって自動化してしまえば良い。例えば、定期的なお茶やコヒーの発注とか、ワンクリックで完了すると気持ちいい。 
webサービスのテスト
操作の解説やテクニックの保存
  • 自動操作の途中で、コメントを入れたアラートを自由に表示できるので、使い方の解説としても役立ちそう。
  • メールをはじめ、フォトショップ等の画像処理まであらゆることがwebサービス化している。例えば、フォトショップを使った達人のテクニックなんかもiMacrosで再現できるはず。リンクをクリックするだけでそのテクニックを利用できるのは魅力だ。

解決できない問題

  • 日本語文字がマクロに含まれると、ブックマークレットや埋め込みリンクから実行が出来ない。(iMacrosサイドバーからは問題なく実行できる。)
    • 実は、上記の「このリンクを押すとフォーム入力を開始する。」を実行しても「住所」と「支払方法」は未入力の状態になる。(日本語文字が含まれるので、リンクからiMacrosが実行できなくなってしまうので、問題部分を削除したのでした。)
    • サイドバーからiMacrosファイルを選択して実行する場合は日本語文字を含んでも問題なく実行できるのだが、時に、埋め込みリンクとして日本語が扱えないことにすごく不便を感じることもある。
      • どなたか解決策をご存知の方がいらっしゃれば、是非教えて頂きたいです...。

*1:iMacrosの記録形式には4つあったが、自分が利用する環境では「Use complete HTML tag」を選択した時が、いちばん問題なく操作できたように感じた。

*2:または「#Current.iim」ファイルを選択して「Share Macro」ボタンを押す

*3:webページ埋め込みのリンクとして、ブックマークレットのように書き込めるのだ。