iMacro用于生成随机文本或随机数字。

14

我正在使用iMacros快速填写静态表单,有没有办法可以使用iMacros生成并发布随机文本呢?例如,在下面的Google搜索iMacro中,我是否可以生成随机文本或随机数字,并将其作为内容发布,而不是使用good boy这个词组?

VERSION BUILD=8510617 RECORDER=FX
TAB T=1
URL GOTO=https://www.google.com.au/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:gbqf ATTR=ID:gbqfq CONTENT=goodboy
TAG POS=1 TYPE=BUTTON FORM=ID:gbqf ATTR=ID:gbqfb
5个回答

19

生成1到10之间的随机数

TAB T=1
URL GOTO=https://www.google.com.au/
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;")
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:gbqf ATTR=ID:gbqfq CONTENT={{!var1}}

在我的情况下,我应该如何使用它? - Kerry
完美,谢谢。但是有没有什么方法可以生成特定大小的随机字符串? - Kerry
没有直接的方法,但是您可以使用上面的代码从文件中随机获取字母,将!datasource_line更改为随机数字,并将其添加到另一个文件中。 - Bestmacros
1
为什么不直接使用 Math.floor(Math.random()*10 + 1); 呢? - Zaz

11

你可以通过稍作修改生成类似上面解决方案的随机字符串。如果你只是想要一个特定长度的随机字符串,就不需要读取文件或其他任何东西。虽然有点混乱,但它确实能够完成任务。

SET !VAR1 EVAL("var letters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z']; var string = ''; for(var i = 0; i < 10; i++){string += letters[parseInt(Math.random() * 25)]}; string")

3

你能创建一个text.csv文件,在A列中输入文本,在B列中输入数字吗?

然后你可以使用以下代码:

VERSION BUILD=8510617 RECORDER=FX
SET !ERRORIGNORE YES
SET !DATASOURCE text.csv
SET !DATASOURCE_COLUMNS 2
SET !DATASOURCE_LINE {{!LOOP}}
TAB T=1
URL GOTO=https://www.google.com.au/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:gbqf ATTR=ID:gbqfq CONTENT={{!COL0}}
TAG POS=1 TYPE=BUTTON FORM=ID:gbqf ATTR=ID:{{!COL1}}

1
太棒了,我会试一试。 - Kerry
1
返回输出为未定义。 - Kerry
1
这通常是由于CSV文件中的某些内容引起的。请检查一下。 - edinvnode

2

四个数字

SET !VAR3 EVAL("Math.floor(Math.random()*9999 + 1);")

4个字符

SET !VAR3 EVAL("var letters = ['a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','o','p','q','r','s','t','u','w','x','y','z']; 
var string = ''; 
for(var i = 0; i < 4; i++){string += letters[parseInt(Math.random() * 25)]}; 
string")

-1
SET !VAR1 EVAL("var letters = ['a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9']; 
var string = ''; 
for(var i = 0; i < 7; i++){string += letters[parseInt(Math.random() * 36)]}; 
string")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接