在iMacros for Firefox中,循环仍然可以按预期发生错误时运行?

时间:2013-10-02 04:19:56

标签: firefox loops error-handling imacros

请参阅下面的代码:

“123.iim”

VERSION BUILD=8510617 RECORDER=FX
TAB T=1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:firstname CONTENT=ABC
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:lastname CONTENT=LDEF
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:email CONTENT=abcdef@gmail.com
TAG POS=1 TYPE=DIV ATTR=TXT:choice
TAG POS=1 TYPE=LI ATTR=TXT:F
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:like CONTENT=swimming
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:hate CONTENT=hiking

在iMacros for Firefox中,我想从1到10按“播放(循环)”,在名为“123.iim”的宏上循环。如果我在第6行遇到错误,宏将停止运行并且循环停止。

我知道我可以添加一个命令:SET!ERRORIGNORE YES忽略错误并继续运行宏和循环。

VERSION BUILD=8510617 RECORDER=FX
TAB T=1
SET !ERRORIGNORE YES
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:firstname CONTENT=ABC
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:lastname CONTENT=LDEF
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:email CONTENT=abcdef@gmail.com
TAG POS=1 TYPE=DIV ATTR=TXT:choice
TAG POS=1 TYPE=LI ATTR=TXT:F
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:like CONTENT=swimming
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:hate CONTENT=hiking

但是,此命令将在错误后运行每一行,即第7行的错误,它将继续运行第8,9和9行。 10。 我不要那个。 我想要的是宏运行线1-6,错误发生在第7行,然后循环将从第1行开始(而不是继续运行第8,9和10行)。

如果一次,现在第7行没有发生错误,循环将从第1行到第10行。

我该怎么办?

我不确定我是否表现良好,但我希望有人可以帮我一个忙。提前谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试使用!ERRORIGNORE with!TIMEOUT_STEP(某些步骤)。这将使其在发生错误时快速跳转到下一步。通常它等待6秒,这是iMacros选项下超时限制中设置的10%。

SET!ERRORIGNORE YES

SET!TIMEOUT_STEP 0

http://wiki.imacros.net/!ERRORIGNORE

http://wiki.imacros.net/!TIMEOUT_STEP

答案 1 :(得分:0)

你可以这样试试。

VERSION BUILD=8510617 RECORDER=FX
TAB T=1
SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:firstname CONTENT=ABC
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:lastname CONTENT=LDEF
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:email CONTENT=abcdef@gmail.com
TAG POS=1 TYPE=DIV ATTR=TXT:choice
TAG POS=1 TYPE=LI ATTR=TXT:F
SET !ERRORIGNORE NO
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:like CONTENT=swimming
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:hate CONTENT=hiking

这样宏就会忽略错误但是在!ERRORIGNORE之后它会在发生错误时从循环中断。我建议使用JavaScript脚本。它有更好的错误处理。