我希望我能清楚。我是一个总菜鸟。这是我第一次在这里问一个问题,所以我为丢失我应该提供的任何内容而道歉。
所以我想要实现的是保存/'拆分'使用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中输入一个条目&#34; COMMAND&#34;。是否可以在没有提取的情况下将某些内容复制到CLIPBOARD?也许这样,原始提取的文本不会反映在csv中。我将不胜感激任何解决方案或解决方法。谢谢!
答案 0 :(得分:1)
初始代码的问题在于您在此处使用了ADD
ADD !EXTRACT {{commandOnly}}
而不是SET。在您的情况下,这样做是将变量commandOnly中的值添加到值!EXTRACT已经具有而不是像SET那样覆盖它。
您只需将ADD更改为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和SET http://wiki.imacros.net/set
的详细信息答案 1 :(得分:0)
警告:我不太了解代码。如果有助于社区,请随时纠正我的任何事情。谢谢!
我使用SET!EXTRACT NULL解决了我的问题。我不太确定应该如何使用它们,但看起来我们必须在每个EXTRACT命令之间进行NULL提取。请注意,上面的示例只是一个简单的引用,并且我正在处理的实际宏具有许多提取的字符串,因此,SET!EXTRACT NULL的定位是关键。我还确保我的ADD!EXTRACT命令尽可能接近SAVEAS(在底部!)。这样做可以防止最初提取的字符串被填充到csv中---如果您正在修改提取的字符串(即EVAL的替换,子字符串等),这将非常有用。
以上是有问题的代码的固定版本:
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