imacros将变量设置为另一个变量值

时间:2013-01-07 15:39:02

标签: javascript imacros

运行一个简单的imacro,使用123reg的前端自动添加子域dns记录。但是我需要使用的命名约定会导致一些问题。

我在domain1.com上有两个映射x.x.x.1 - x.x.x.128的域名                               域名网站上的x.x.x.129 - x.x.x.254

以下是我用来映射domain1.com地址的代码

TAB T=1
SET !LOOP 1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:hostname CONTENT=mx{{!LOOP}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:data_A CONTENT=x.x.x.{{!LOOP}}
TAG POS=1 TYPE=A ATTR=ID:save_dns_entries
WAIT SECONDS=2

理想情况下,我一直在尝试添加变量!VAR0并做一些简单的数学运算,即。

!VAR0 !LOOP
ADD !VAR0 -128
TAB T=1
SET !LOOP 1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:hostname CONTENT=mx{{!VAR0}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:data_A CONTENT=x.x.x.{{!LOOP}}
TAG POS=1 TYPE=A ATTR=ID:save_dns_entries
WAIT SECONDS=2

这种格式只是将“!LOOP”添加到!VAR0 ...有没有办法将一个变量值设置为imacros中的另一个值?我知道它的数学功能非常有限......

2 个答案:

答案 0 :(得分:0)

我通过一些更好的思考找到了解决问题的方法!用{{}}包围变量或循环(!VAR0或!LOOP),即{{LOOP}}将给出该变量的值。

要设置变量的值,请对其执行数学运算:

!VAR0 {{!LOOP}} 
!VAR0 - 128

以下是上述示例的解决方案,该示例在123reg.com的高级DNS条目下,允许以mx0.domain.com格式快速自动添加子域,其中“0”是数字范围,并且XXX是IP地址的前3个点;如果要将一系列IP映射到服务器DNS上的子域,则非常有用。

TAB T=1
SET !LOOP 129
SET !VAR0 {{!LOOP}}
ADD !VAR0 -128
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:hostname CONTENT=mx{{!VAR0}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:data_A CONTENT=x.x.x.{{!LOOP}}
TAG POS=1 TYPE=A ATTR=ID:save_dns_entries
WAIT SECONDS=2

答案 1 :(得分:0)

或者您可以使用iMacros脚本界面。并命令iimSet和iimPlay。