如何在宏脚本中编辑字符串形式的csv

时间:2015-01-19 12:27:40

标签: imacros

我有csv文件,它被称为包含U​​RL的列表,看起来像这样: enter image description here

我的脚本将截取所有这些网址的屏幕截图。

我的代码如下所示:

VERSION BUILD=8871104 RECORDER=FX
TAB T=1
TAB CLOSEALLOTHERS
SET !ERRORIGNORE YES
SET !TIMEOUT_PAGE 120
SET !DATASOURCE W:\url-list-with-change-in-page-size.csv
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO={{!COL1}}
WAIT SECONDS=2
SET VAR1 {{!COL1}}
SET VAR2 EVAL("var s=\"{{VAR1}}\";  s.replace("http://",""); ")
SCREENSHOT TYPE=Page FOLDER=C:\Users\iMacros\Downloads FILE={{VAR2}}

这给了我一个错误wrong format of SET command, line 13 (Error code: 910)

基本上,

我有

{{COL1}} = http://www.webcentral.com.au/marketing/search-engine-optimisation

我想要

{{$VAR1}} = www.webcentral.com.au_marketing_search-engine-optimisation

EVAL()的帮助下,我想首先删除http://,然后将/替换为_

请提出任何建议。

谢谢

2 个答案:

答案 0 :(得分:0)

SET VAR2 EVAL("'{{VAR1}}'.replace('http://','').replace(/\\//g,'_');")

答案 1 :(得分:0)

有两种方法可以做到这一点。最简单的方法是在CSV中添加一个列,并为该网址添加所需的名称。那样你就没有操纵数据了。如果必须使用EVAL,则需要转义某些字符。

这对我有用:

SET !VAR1 "http://stackoverflow.com/questions/28024675/how-to-edit-the-
string-form-csv-in-macro-script/28063429#28063429"
PROMPT {{!VAR1}}
SET !VAR2 EVAL("var x=\"{{!var1}}\"; var y=x.replace(\"http://\",\"\"); y;")
PROMPT {{!VAR2}}