我有csv文件,它被称为包含URL的列表,看起来像这样:
我的脚本将截取所有这些网址的屏幕截图。
我的代码如下所示:
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://
,然后将/
替换为_
。
请提出任何建议。
谢谢
答案 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}}