代码之家  ›  专栏  ›  技术社区  ›  Johnny Derpp

iMacros-不将原始提取文本保存在csv中

  •  0
  • Johnny Derpp  · 技术社区  · 7 年前

    我希望我说得很清楚。我是个彻头彻尾的笨蛋。这也是我第一次在这里问问题,所以我很抱歉错过了我应该提供的任何东西。

    所以我想要实现的是使用EVAL在csv中保存/分割提取字符串的某些部分。作为我试图实现的一个简化模型,下面是iMacros中一个演示的修改代码:

    URL GOTO=http://www.iopus.com/imacros/demo/v6/extract2/       
    TAG POS=1 TYPE=P ATTR=CLASS:heading&&TXT:* EXTRACT=TXT  
    SET commandOnly EVAL("var s=\"{{!EXTRACT}}\"; s.split(' ')[2];")
    ADD !EXTRACT {{commandOnly}}
    SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:yyyy-mm-dd<SP>hhh<SP>nnmin}}.csv
    

    如您所见,生成的csv文件将填充2列。我希望在A1中只生成一个带有“COMMAND”的条目。是否可以在不提取的情况下将某些内容复制到剪贴板?因为这样,原始提取的文本可能不会反映在csv中。如果有任何解决方案或变通方法,我将不胜感激。谢谢

    2 回复  |  直到 7 年前
        1
  •  1
  •   Pinkie Pie    7 年前

    初始代码的问题是您在此处使用了ADD

    ADD !EXTRACT {{commandOnly}}

    而不是设置。在您的案例中,这只是将变量commandOnly中的值添加到值中!提取已经有,而不是像SET那样覆盖它。

    你可以把加法改成SET,你就很好了。

    所以完整的代码是

    URL GOTO=http://www.iopus.com/imacros/demo/v6/extract2/       
    TAG POS=1 TYPE=P ATTR=CLASS:heading&&TXT:* EXTRACT=TXT  
    SET commandOnly EVAL("var s=\"{{!EXTRACT}}\"; s.split(' ')[2];")
    SET !EXTRACT {{commandOnly}}
    SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:yyyy-mm-dd<SP>hhh<SP>nnmin}}.csv
    

    有关ADD的更多信息 http://wiki.imacros.net/ADD 并设置 http://wiki.imacros.net/set

        2
  •  0
  •   Johnny Derpp    7 年前

    警告:我不太懂代码。如果对社区有帮助的话,请随时纠正我。谢谢

    以下是上述问题代码的固定版本:

    URL GOTO=http://www.iopus.com/imacros/demo/v6/extract2/       
    TAG POS=1 TYPE=P ATTR=CLASS:heading&&TXT:* EXTRACT=TXT  
    SET commandOnly EVAL("var s=\"{{!EXTRACT}}\"; s.split(' ')[2];")
    SET !EXTRACT NULL
    ADD !EXTRACT {{commandOnly}}
    SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:yyyy-mm-dd<SP>hhh<SP>nnmin}}.csv