JavaScriptと連携してiMacrosを使いこなすようになるまでの連載の第4回です。最初から読みたい方はこちらからどうぞ。前回は「iMacrosでJavaScriptを実行する(基礎編)」について解説しました。

今回は応用編として、iMacros + JavaScriptで実際にサイトを巡回する方法を紹介します。

マクロを作成する

まずは、JavaScriptと連携させるためのマクロを作成します。第3回と同じようにマクロを作成し、iimファイルを用意します。

以下の動画は、#Current.iimファイルを実行しています。Googleで「cat」というワードを検索し、catの画像一覧を表示するところまでを記録しました。

iimファイルのコードは以下のとおりです。

VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://www.google.com/webhp?hl=ja&sa=X&ved=0ahUKEwiaob7FkOrcAhWEV7wKHSG0D8wQPAgD
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:tsf ATTR=ID:lst-ib CONTENT=cat
TAG POS=1 TYPE=DIV ATTR=ID:lga
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:tsf ATTR=NAME:btnK
TAG POS=1 TYPE=A ATTR=TXT:画像

マクロをJavaScriptと連携させる

次に記録したマクロを使って、JavaScriptのコードを書きます。iimファイルに書いているコードを一部編集しただけです。

var macro = "CODE:";
macro += "URL GOTO=https://www.google.co.jp/webhp?hl=ja&sa=X&ved=0ahUKEwiYi5SGxOvcAhWKfLwKHT-MA3EQPAgD \n";
macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:tsf ATTR=ID:lst-ib CONTENT=cat \n";
macro += "TAG POS=1 TYPE=DIV ATTR=ID:lga \n";
macro += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:tsf ATTR=NAME:btnK \n";
macro += "TAG POS=1 TYPE=A ATTR=TXT:画像 \n";
var ret = iimPlay(macro);

JavaScriptのコードでも同じ結果が得られます。以下の動画は、test.jsファイルを実行しています。

JavaScriptと連携させるときは、先頭に “CODE:” という文字を付けます。また、各行の最後に改行コード(\n)を入れておくことが必要です。こうしないと、繋がった文字列と認識されて、iMacrosのコードと認識されません。

JavaScriptの解説

上記で使ったJavaScriptの各コードの意味を解説します。

URL GOTO

macro += "URL GOTO=https://www.google.co.jp/webhp?hl=ja&sa=X&ved=0ahUKEwiYi5SGxOvcAhWKfLwKHT-MA3EQPAgD \n";

【URL GOTO】で指定したリンクに移動します。

TAG POS ,TYPE ,FORM ,ATTR ,CONTENT

macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:tsf ATTR=ID:lst-ib CONTENT=cat \n";

【TAG POS】は「○番目の」を意味します。例えば、同じクリックしたい画像が複数あった場合、POS=2で上から2番目の画像を意味します。

【TYPE】は「HTMLのどのタグを指定するか」を意味します。「INPUT:TEXT」や「DIV」「A」などを指定できます。

【FORM】と【ATTR】は、さらに詳しいHTML要素を指定します。

【CONTENT】で指定したテキスト「cat」を入力します。

iimPlay()

var ret = iimPlay(macro);

【iimPlay()】でマクロを実行します。パラメータに実行するマクロ名を指定します。

iMacrosでJavaScriptを実行する(応用編)の解説は以上です。実行するのに必要な要素を最初から調べなくても、マクロを記録するだけで動かせるのが非常に便利ですね。