使用iMacros中的EVAL语句从Javascript数组中获取字符串

时间:2016-10-29 19:29:26

标签: javascript arrays string imacros

我正在尝试在Imacros中创建一个字符串数组,然后获取一个字符串值并存储在var 2中,这样我每次都可以使用不同的(随机值)。

但是当我写这篇文章时,我在第二行有错误:

SET !VAR1 EVAL("var config = ['myConfigParameter1', '500', '4.1234213', 'http://an.url/'];config.join(';')")
SET !VAR2 EVAL("var config = '{{!VAR2}}'.split(';');config[0]")

Iam尝试在Imacros firefox中运行它并运行它,它在第二行说明错误:

未定义,第7行(错误代码:-1001)

我按照本教程从imacros中的数组中获取字符串值。 的 http://www.iteamwork.de/imacros-scripting-use-more-than-x-variables-in-macro-script.html

该行有什么问题?

如何检索随机字符串并存储在var2中,以便我可以在我的imacros代码中使用它?

我也尝试通过创建一个单独的js文件来实现它的核心JS方式,但它也没有用。

更新:

以下是完整代码:

VERSION BUILD=9030808 RECORDER=FX
SET !VAR1 EVAL("var config = ['myConfigParameter1', '500', '4.1234213', 'http://an.url/'];config.join(';')")
SET !VAR2 EVAL("var config = '{{!VAR2}}'.split(';');config[0]")
TAB T=1
wait seconds = 7
'TAG POS=1 TYPE=TEXTAREA ATTR=ID:chatmsg CONTENT=TestMessge
TAG POS=1 TYPE=TEXTAREA ATTR=ID:chatmsg CONTENT={{!VAR2}}
TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:sendbtn
wait seconds = 2
ONDIALOG POS=1 BUTTON=OK CONTENT=
wait seconds = 1
TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:disconnectbtn
ONDIALOG POS=1 BUTTON=OK CONTENT=
wait seconds = 2
ONDIALOG POS=1 BUTTON=OK CONTENT=
wait seconds = 1
TAG POS=1 TYPE=INPUT:BUTTON ATTR=*
ONDIALOG POS=1 BUTTON=OK CONTENT=

这是我的随机行:

SET randomNumber EVAL("var min = 0; var max = 4; var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber;")
SET !VAR2 EVAL("var config = '{{!VAR1}}'.split(';');config[{{randomNumber }]")

随机数工作正常,但我不知道如何在数组中使用randomnumb变量来获取随机字符串。问题现在在第二行。

1 个答案:

答案 0 :(得分:1)

SET !VAR2 EVAL("var config = '{{!VAR2}}'.split(';');config[0]")

我认为你的意思是加入你刚设置的数组var,对吧?所以它会是:

SET !VAR2 EVAL("var config = '{{!VAR1}}'.split(';');config[0]")