Mozilla FirefoxのiMacrosで使えるマクロの命令一覧

code-820275
iMacrosはFirefoxでの操作を.iimファイルとして記録する事ができますが、それ以外にも命令を自分で書く事もできます。

さらにJavaScriptで.iimファイルを操作する事も可能と、なかなか複雑な事も出来ます。

そこでiMacrosの命令一覧と簡単なサンプルを書いてみます。



iMacrosの命令

Recordで記録できない命令
命令 効果
WAIT SECONDS=数値 マクロの動作を数値の分だけ待ちます。0.1秒から指定できます。
CLEAR キャッシュのクリア
URL GOTO=パラメータ パラメータがURLなら「そのURLを開く」ことが出来ます。
また、javascript:~ならJavaScript命令を実行する事が出来ます。
例:URL GOTO=javascript:window.scrollBy(0,100})
PAUSE PAUSEボタンを押すのと同じ効果で、押すと一時停止します。
再開するにはContinueボタンを押す必要があります。
SET 変数などに値をいれます。
SETで利用できる変数
変数 効果
!VAR数字 変数として使います。数字は0~9。
例:SET !VAR0 999
!CLIPBOARD クリップボードに値を入れます。
例:SET !CLIPBOARD 999
!REPLAYSPEED パラメータ マクロの進行に「待ち」を入れます。
パラメータは「FAST」「MEDIUM」「SLOW」の三種。
FASTは待ち無し、MEDIUMは1秒、SLOWは2秒。
デフォルトはFAST
例:SEL !REPLAYSPEED MEDIUM
!SINGLESTEP パラメータ 一行進める毎にPauseをかけるかを指定します。
パラメ-タは「YES」か「NO」。デフォルトはNO。
再開するにはContinueボタンを押す必要があります。
例:SET !SINGLESTEP YES
!TIMEOUT_PAGE 数値 このページでの処理が終わるまでの待ち時間の限界を設定します。
指定できる数値は1以上の整数のみ。1が1秒。
例:SET !TIMEOUT_PAGE 1
!TIMEOUT_STEP 数値 1命令毎の処理が終わるまでの待ち時間の限界を設定します。
数値は1以上の整数のみで秒単位。デフォルトは60。
例:SET !TIMEOUT_STEP 1
!ERRORIGNORE パラメータ エラーが起こってもマクロを停止させないようにします。
パラメータは「YES」か「NO」。デフォルトはNO。
例:SET !ERRORIGNORE YES

▶例:Windowを100ポイント下へスクロールするマクロ(最大1秒間まで待つ)

SET !TIMEOUT_PAGE 1
URL GOTO=javascript:window.scrollBy(0,100)

「URL GOTO=javascript:window.scrollBy(0,100)」でウインドウを下へ100スクロールさせます。
しかし、そのままでは待ち時間が60秒かかります。
そこで「SET !TIMEOUT_PAGE 1」で限界待ち時間を1秒に指定して高速化しています。


CSVファイルの読み込み
命令 効果
SET !DATASOURCE ファイル名 読み込むCSVファイルを指定します。
参照するフォルダはiMacros\Datasourcesの中です。
例:SET !DATASOURCE data.csv
SET !DATASOURCE_LINE 行番号 CSVの何行目を読み込むかを指定します。
1が行の先頭になります。
「{{!COL1}}」に1列目の値、「{{!COL2}}」に2列目の値が入ります。
例:SET !DATASOURCE_LINE 1

▶例:test.csvのA1の値をクリップボードに入れる

SET !DATASOURCE test.csv
SET !DATASOURCE_LINE 1
SET !CLIPBOARD {{!COL1}}

「SET !DATASOURCE test.csv」で読み込む.CSVファイルを指定します。
「SET !DATASOURCE_LINE 1」で1行目を読むと指定です。
最後に「SET !CLIPBOARD {{!COL1}}」で1列目をクリップボードに入れる。


JavaScriptとの連携命令

.iim側
命令 効果
ADD !EXTRACT 変数 変数の値をJavaScriptへ返す命令です。
複数のデータを渡す事ができます。
例:ADD !EXTRACT 100
JavaScript側
命令 効果
iimGetLastExtract(数字) .iimからADD !EXTRACTで送られた値をJavaScriptが受け取る命令です。
「数字」は送られた順番の番号で、1が.iimから最初に送られた物です。
例:var Data1=iimGetLastExtract(1);
iimPlay(.iimファイル名); JavaScriptから実行する.iimファイル名です。
例:iimPlay(“test/#Check”);
iimSet(変数名,値); JavaScriptから実行する.iimファイルへ送る変数を指定します。
iimPlayを実行する前に置きます。
.iim内で値を参照するは「{{“変数名”}}」を使います。
例:iimSet(“data”,100);

▶例:JavaScriptでCSVファイルを読む

.iim側
ファイル名「#csv.iim」

SET !DATASOURCE test.csv
SET !DATASOURCE_LINE {{num}}
ADD !EXTRACT {{!COL1}}
ADD !EXTRACT {{!COL2}}

JavaScript側

iimSet("num",1);
iimPlay("#csv");
var Data1=iimGetLastExtract(1);
var Data2=iimGetLastExtract(2);

このマクロはJavaScript側を実行すればJavaScriptが#csv.iimを使いtest.csvを読みます。

「iimSet(“num”,1);」で「#csv.iim」内の「{{num}}」に「1」を送る事になります。
この例では「SET !DATASOURCE_LINE {{num}}」で1行目を指定となります。

「iimPlay(“#csv”);」を実行した時点で読み込みが開始されます。

そして「iimGetLastExtract()」で1列と2列目のデータを受け取りをします。

ちなみに、このマクロはJavaScript側と.iim側が同じフォルダに入っている物とします。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク