【问题标题】:Save last {{!loop}} value in iMacro script after error出错后在 iMacro 脚本中保存最后一个 {{!loop}} 值
【发布时间】:2016-07-22 17:20:13
【问题描述】:

我正在运行免费的 FF 扩展格式的 iMacro 脚本。

这个宏在一个循环中运行一整夜,并使用{{!LOOP}} 变量。在夜间,脚本可能会崩溃,当它崩溃时,我需要一种方法来查看 {{!LOOP}} 的什么值,以便脚本在该部分崩溃。

即使发生错误,如何在 iMacro 脚本中保存最后一个 {{!loop}} 值?

【问题讨论】:

  • 您也可以使用 'SET !ERRORIGNORE YES' 来保持循环,即使遇到错误。如果您的代码逻辑允许。
  • 没问题。我希望它失败,因为我不希望某些循环值存在间隙。

标签: imacros


【解决方案1】:

我使用以下代码将下一个选项卡上的 url 更新为 !LOOP,因此当它崩溃时,该值正是您所需要的。您需要第二个选项卡已经打开。 这个方法很快!

TAB T=1
'your code goes here

'don't wanna wait long
SET !TIMEOUT_PAGE 1 
'don't crash because http://1 doesn't exist
SET !ERRORIGNORE YES 
'go to next tab - notice this tab has to already be open
TAB T=2  
'update url in tab
URL GOTO={{!LOOP}}  
'return to original tab
TAB T=1  
'timeout back to normal
SET !TIMEOUT_PAGE 60  
'continue failing on error like in default
SET !ERRORIGNORE NO 

如果您想在失败时继续,您还可以保存到磁盘以获得更高的可靠性和跟踪失败的单个循环。

【讨论】:

  • 效果很好。如果我没有打开 tab2 会怎样?
  • 在这种情况下,URL GOTO={{!LOOP}} 将覆盖您当前标签的网址。如果您将此代码放在代码的末尾,最坏的情况是它不会保存 url,您不必担心会损害您的其他代码或导致崩溃。
【解决方案2】:

在我上面扩展答案,您可以使用您的宏,只需转到 url 之类的:URL GOTO=www.yoururl.com/?nothing={{!LOOP}}

通过添加?nothing={{!LOOP}},大多数网站不会受到影响,但结果与在没有新标签的情况下向 {{!LOOP}} 打开新标签相同

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    相关资源
    最近更新 更多