試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

iMacrosの変数の操作と、フォームへの出力のテスト

変数の指定と組み込み変数

以下の3つの組み込み変数が自由に使用できる。

  • !VAR1
  • !VAR2
  • !VAR3

変数名の値に「!」を付けて使用する。

代入

SETコマンドを使用する。

SET [変数] [値]

参照

{{!VAR1}}

のように、変数名を二重の中かっこ(「{{」と「}}」)で囲む形で取り出す。

テスト

出力用フォームを含むXHTMLファイルを作成し、あらかじめFirefox上で開いておく。
ファイル名: imacros-vartest.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
                      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">

<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<title>iMacros test</title>
</head>

<body>
<form action="imacros-vartest.html" id="f">
<div>
!VAR1: <input type="text" name="var1" size="10" /><br />
!VAR2: <input type="text" name="var2" size="10" /><br />
!VAR3: <input type="text" name="var3" size="10" /><br />
</div>
</form>
</body>
</html>

以下はマクロの内容。VERSIONコマンドで指定するビルドIDは、適当な操作をレコーダーで記録することで調べられる。
[任意]ファイル名: vartest-set.iim

VERSION BUILD=6011218
SET !VAR1 foo
SET !VAR2 var
SET !VAR3 2000
TAG TYPE=INPUT:TEXT FORM=ID:f ATTR=NAME:var1 CONTENT={{!VAR1}}
TAG TYPE=INPUT:TEXT FORM=ID:f ATTR=NAME:var2 CONTENT={{!VAR2}}
TAG TYPE=INPUT:TEXT FORM=ID:f ATTR=NAME:var3 CONTENT={{!VAR3}}

XHTMLファイルを開いてマクロを実行すると、3つのフォームにそれぞれ「foo」「bar」「2000」の3つが自動的に入力される。
上の例ではSETコマンドを使用して、決まった値を指定しているが、PROMPTコマンドでユーザからの入力によって値をセットすることもできる。

PROMPT "[メッセージ]" [変数] ("[デフォルト値]")

後ろにデフォルト値を指定しない場合は入力欄が空の状態でダイアログが出る。
下のマクロでは、同じXHTMLページに、ユーザが入力したテキストを変数に入れてフォームに表示する。
[任意]ファイル名: vartest-prompt.iim

VERSION BUILD=6011218
PROMPT "!VAR1の値を入力してください" !VAR1
PROMPT "!VAR2の値を入力してください" !VAR2
PROMPT "!VAR3の値を入力してください" !VAR3 "デフォルト値"
TAG TYPE=INPUT:TEXT FORM=ID:f ATTR=NAME:var1 CONTENT={{!VAR1}}
TAG TYPE=INPUT:TEXT FORM=ID:f ATTR=NAME:var2 CONTENT={{!VAR2}}
TAG TYPE=INPUT:TEXT FORM=ID:f ATTR=NAME:var3 CONTENT={{!VAR3}}

!VAR3の指定時のみデフォルト値が指定されているため、入力時に表示される。

関連記事:

使用したバージョン:

  • iMacros 6.0.1.5