0

请看下面的代码:

“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 和 10 行。我不希望这样。我想要的是宏运行第 1-6 行,错误发生在第 7 行,然后循环将从第 1 行开始(而不是继续运行第 8、9 和 10 行)。

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

我能怎么做?

我不确定我是否表现得很好,但我希望有人能紧急帮我一个忙。提前致谢!

4

2 回答 2

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 NO 之后,如果发生错误,它将从循环中中断。我建议使用 JavaScript 脚本。它有更好的错误处理。

于 2013-10-02T19:24:12.683 回答
0

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

SET !ERRORIGNORE 是

SET !TIMEOUT_STEP 0

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

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

于 2013-10-02T14:27:26.863 回答