【问题标题】:Trying If else condition in EVAL in imacros gives error在 imacros 的 EVAL 中尝试 If else 条件会出错
【发布时间】:2017-07-10 07:45:54
【问题描述】:

这是我从中提取数据的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 的值是否为空或空白的条件,然后打印两个变量的数据,即 abcdef else 打印 abcdef 在两者之间与 BHK 连接的数据。 但这给了我错误

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

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

【问题讨论】:

    标签: if-statement conditional imacros


    【解决方案1】:

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

    如果变量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 命令。如果这个答案有帮助,请标记为这样。谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多