iMacrosはMozilla Firefoxを自動操作する事ができるツールです。
具体的には存在しているボタンやテキストエリアを操作出来ます。
しかし、存在していない物に対して操作しようとしても操作が出来ません。
当然、存在していないので。
そこで、今回は存在しているか・存在していないか、で処理を分ける方法を書いておきます。
googleで検索するサンプルを改造
基本は前回作ったgoogleで検索するサンプルです。
これに存在するかを判定する機能を付けます。
Firefoxでgoogleのトップページに行き、特定のワードで検索します。
そして「次へ」があったら、これを押します。
無ければiMacroを終了します。
サンプルとして前回の.iimファイルの「#sub.iim」とJavaScriptの「main2.js」を用意します。
そして、「次へ」を押す「#next.iim」を用意します。
#next.iim
TAG POS=1 TYPE=SPAN ATTR=TXT:次へ
検索した結果に「次へ」があったら押します。
無ければ何もしません。
そしてJavaScriptから送られたウエイト時間分だけ待ち、JavaScriptから送られたワードで検索をします。
main2.js
var randtime=(Math.floor(Math.random()*100))/10; iimSet("waittime",randtime); iimSet("SearchCharacter","検索"); iimPlay("#sub"); for(var i=0;i<1000;i++) { if(iimPlay("#next")<0) { break; } }
main.jsは実行する為のJavaScriptのファイルです。
これは.iimファイルにウエイト時間と検索する文字列を送ります。
ウエイト時間はJavaScriptの命令で0.0~10.0の値を渡し、検索する文字は”検索”という文字を渡します。
配置
このように配置します。
実行
実行するには「main.js」にカーソルを合わせ「Play」ボタンを押します。
実行するとグーグルのtopページが開かれ、ランダムな秒数で待ち、「検索」の文字で検索をします。
検索が終わるとマクロも停止されます。
「次へ」が表示されなくなるまで「次へ」を押し続けます。
もしも「次へ」が表示されなくなるとマクロも終了されます。