If statement 在imacros中尝试EVAL中的If-else条件时出错

If statement 在imacros中尝试EVAL中的If-else条件时出错,if-statement,conditional,imacros,If Statement,Conditional,Imacros,这是我提取数据的地方 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:HI

这是我提取数据的地方

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的值是否为空或为空,然后打印两个变量的数据,即abcdef,否则打印abcdef的数据,并在两者之间连接BHK。 但这给了我错误

MacroSyntaxError: wrong format of SET command, line 71 (Error code: -910)
任何关于我哪里出错的建议。
任何帮助都将不胜感激。谢谢

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

如果变量abc为空或为空,
然后返回
abc
def
(如果abc为空/null,为什么还要麻烦返回它?
否则返回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来控制Imacro的流/逻辑。看起来您正试图通过javascript创建Imacro命令。如果这个答案有帮助,请这样标记。谢谢