如何在iMacros中的数据源的最后一行之后重新开始

时间:2016-05-18 12:08:31

标签: loops datasource imacros

我在网站上有超过10个帐户,在该网站上我想用帐户1登录,执行某些操作,注销然后登录帐户2等。 在我登录到最后一个帐户后,我希望我的宏从帐户1重新开始,因此我的数据源中的第1行。

我现在正在做的是:

    SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 1
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=http://www.exampe.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form ATTR=NAME:email CONTENT=email1
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:form ATTR=NAME:password CONTENT=pass1
TAG POS=1 TYPE=SPAN ATTR=TXT:LOGIN
URL GOTO=http://www.example.com/action1.php
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:fjkd ATTR=ID:1
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:fjkd ATTR=*
WAIT SECONDS=1
URL GOTO=http://www.example.com/action2.php
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:RADIO FORM=NAME:f ATTR=ID:2
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:f ATTR=*
URL GOTO=http://www.example.com/logout.php

URL GOTO=http://www.exampe.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form ATTR=NAME:email CONTENT=email2
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:form ATTR=NAME:password CONTENT=pass2
TAG POS=1 TYPE=SPAN ATTR=TXT:LOGIN
URL GOTO=http://www.example.com/action1.php
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:fjkd ATTR=ID:1
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:fjkd ATTR=*
WAIT SECONDS=1
URL GOTO=http://www.example.com/action2.php
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:RADIO FORM=NAME:f ATTR=ID:2
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:f ATTR=*
URL GOTO=http://www.example.com/logout.php

依旧,所以脚本很长,但它可以一直循环。

我想要的是从我的数据源加载登录凭据并根据需要重播它们,添加或删除帐户会更容易。或者更改所有帐户的网站操作。

我希望这是可能的!

祝你好运

1 个答案:

答案 0 :(得分:0)

你的希望是现实的。假设您的数据源文件('credentials.csv')如下所示:

email1,pass1
email2,pass2
email3,pass3
...

您可以通过下面的宏循环“无限”循环帐户。只需使用非常大的“Max:”值(例如99999)以循环模式播放。

' rows in the datasource '
SET maxRow 10

SET !LOOP 1
SET !DATASOURCE credentials.csv
SET curRow EVAL(({{!LOOP}}%{{maxRow}}==0)?{{maxRow}}:{{!LOOP}}%{{maxRow}};)
SET !DATASOURCE_LINE {{curRow}}
SET email {{!COL1}}
SET pass {{!COL2}}

SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 1
TAB T=1
URL GOTO=http://www.exampe.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form ATTR=NAME:email CONTENT={{email}}
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:form ATTR=NAME:password CONTENT={{pass}}
TAG POS=1 TYPE=SPAN ATTR=TXT:LOGIN
URL GOTO=http://www.example.com/action1.php
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:fjkd ATTR=ID:1
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:fjkd ATTR=*
WAIT SECONDS=1
URL GOTO=http://www.example.com/action2.php
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:RADIO FORM=NAME:f ATTR=ID:2
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:f ATTR=*
URL GOTO=http://www.example.com/logout.php