如何使用iMacro如果没有Javascript的Else声明?

时间:2017-09-26 21:16:00

标签: javascript if-statement eval imacros goto

我目前制作一个使用EXTRACT查找TAG的iMacro脚本

VERSION BUILD=9030808 RECORDER=FX
SET !ERRORIGNORE YES
TAB T=1
TAG POS=1 TYPE=I ATTR=CLASS:icon-pencil&&TXT: EXTRACT=HTM

SET !VAR10 EVAL("var s='{{!EXTRACT}}'; if(s=='<i class=\"icon-pencil\" style=\"outline: 1px solid blue;\"></i>'){s='imacros://run/?m=ADD.iim';} else {s='imacros://run/?m=A.iim';}; s;")
URL GOTO={{!VAR10}}

如何制作if语句?

2 个答案:

答案 0 :(得分:0)

iMacros的FAQ中没有if语句:

  

iMacros语言本身被设计为描述性语言   (类似于HTML)并且不包含条件语句。我们做到了   不要添加这样的陈述,因为我们不认为我们的客户应该这样做   必须参加为期一周的研讨会才能学习另一个   专有脚本或编程语言。换句话说,iMacros   命令是指网页元素,因此任何编程逻辑都必须如此   放入一个脚本,然后使用iMacros自动化网站。 - iMacros FAQ

你可以使用Javascript,但是如果你正在研究浏览器自动化,我会推荐使用Python Selenium。要做任何需要逻辑的事情要容易得多,iMacros只对非常基本的东西有用。

答案 1 :(得分:0)

iMacros for Firefox包含一个允许完全控制的内置API,包括if / then:

http://wiki.imacros.net/iMacros_for_Firefox#Javascript_Scripting_Interface

这使用Javascript,但不在iMacros中,它在宏外“。效果很好而且非常可靠。

自动执行复杂任务:iMacros命令引用网页元素,因此必须将任何编程逻辑放入脚本中,然后使用iMacros自动化网站。为此,iMacros for Firefox包含一个内置的Javascript Scripting Interface,它直接在浏览器中运行。就像Firefox一样,这个界面是跨平台的(Win,Mac,Linux)。