尝试在imacros的EVAL中的if else条件会给出错误

时间:2017-07-10 07:45:55

标签: if-statement conditional imacros

这是我提取数据的link

TAG POS=1 TYPE=DIV ATTR=CLASS:sLB&&TXT:* EXTRACT=TXT
SET pqr {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=R1 TYPE=INPUT ATTR=TYPE:HIDDEN&&TXT:* EXTRACT=TXT
SET abc {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=R1 TYPE=INPUT ATTR=TYPE:HIDDEN&&TXT:* EXTRACT=TXT
SET def {{!EXTRACT}}
SET !EXTRACT NULL
PROMPT "{{abc}} BHK {{def}}"

SET VAR7 EVAL("if (\"{{!abc}}\" == ' ') PROMPT "{{abc}} {{def}}"; else \"PROMPT "{{abc}} BHK {{def}}\";")
PROMPT {{VAR7}}

如果变量 abc 的值为空或空白,则检查条件,然后打印两个变量的数据,即 abc def 打印数据 abc def 与两者之间的BHK连接。 但这给了我错误

MacroSyntaxError: wrong format of SET command, line 71 (Error code: -910)

我出错的任何建议。 任何帮助将非常感激。谢谢

1 个答案:

答案 0 :(得分:3)

让我看看我是否理解你的问题......

如果变量abc为空或空白,则为   然后返回abcdef (如果它为空/空,为什么还要返回abc?)
  否则返回abc + "BHK" + def

由于即使您提供了链接,我也不太确切地理解您正在提取的内容,因此我在下面创建了一个测试用例并提供了答案:

'Set test values
SET abc "100"
SET def "Apartment"

'Evaluation below, will abc = ' '?
SET VAR7 EVAL("('{{abc}}'==' ')?\"{{abc}} {{def}}\" : \"{{abc}} BHK {{def}}\";")
'return results of evaluation
PROMPT {{VAR7}}

'test abc with blank value
SET abc " "
SET VAR7 EVAL("('{{abc}}'==' ')?\"{{abc}} {{def}}\" : \"{{abc}} BHK {{def}}\";")
'return results of evaluation
PROMPT {{VAR7}}

请记住,您不能使用Javascript来控制Imacros的流/逻辑。看起来你试图通过javascript创建Imacro命令。如果这个答案有帮助,请标记。谢谢!