javascript - 无法解析 Imacros 中的宏行

标签 javascript imacros

我是 iMacros 的新手,这是我的第一个宏。任何人都可以帮忙......它收到错误宏无法解析

Error -1100: Can not parse macro line: for(i=1,i<11;i++){

这是代码

VERSION BUILD=10022823
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://www.justdial.com/Mumbai/Furniture-Dealers-%3Cnear%3E-jetpur-rajkot/ct-10219686/page-8
SET !EXTRACT_TEST_POPUP NO

for(i=1,i<11;i++){
iimSet("i",i);
var k = 12
k=k+({{i}}*4)
iimPlay(ext);
}

var ext
ext = "CODE:";
ext += "TAG POS={{i}} TYPE=H4 ATTR=CLASS:store-name EXTRACT=TXT";
ext += "TAG POS={{i}} TYPE=P ATTR=CLASS:contact-info EXTRACT=TXT";
ext += "TAG POS={{k}} TYPE=A ATTR=HREF:javascript:void(0); EXTRACT=TXT";
ext += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:ddmmyy_hhnnss}}.csv";

最佳答案

我希望您能通过此代码获得预期的结果。您的代码必须进行一些更改。添加了在代码运行之初设置文件名的选项。还 trim 了输出字符串中的空格。

如果对您有帮助,我将非常高兴。

iimPlayCode('PROMPT "PLEASE ENTER THE FOLDER NAME FOR OUTPUT FILE" !VAR1'+'\n'+ 'ADD !EXTRACT {{!VAR1}}');
var foldarname = iimGetExtract(1).replace(" ","<SP>");


var trim = 'EVAL("\\\"{{!EXTRACT}}\\\".replace(\\\"#EANF#\\\", \\\"\\\").replace(\\\"more..\\\", \\\"\\\").replace(/^\\\\s*|\\\\s*$/g, \\\"\\\").replace(/\\\\t/g, \\\"\\\").replace(/[\\\\r\\\\n]/g, \\\"\\\");")'+'\n';
trim += 'SET !EXTRACT NULL'+'\n';


var header = "VERSION BUILD=10022823"+'\n';
header += "TAB T=1"+'\n';
header += "SET !TIMEOUT 200"+'\n';
header += "SET !TIMEOUT_STEP 0"+'\n';
header += "TAB CLOSEALLOTHERS"+'\n';
header += "SET !ERRORIGNORE YES"+'\n';
header += "SET !EXTRACT_TEST_POPUP NO"+'\n';

var url = "URL GOTO=http://www.justdial.com/Mumbai/Furniture-Dealers-%3Cnear%3E-jetpur-rajkot/ct-10219686/page-8"+'\n';


var ext = "TAG POS={{i}} TYPE=H4 ATTR=CLASS:store-name EXTRACT=TXT"+'\n';
ext += "SET StoreName "+ trim;
ext += "TAG POS={{i}} TYPE=P ATTR=CLASS:contact-info EXTRACT=TXT"+'\n';
ext += "SET ContactInfo "+ trim;
ext += "TAG POS={{k}} TYPE=A ATTR=HREF:javascript:void(0); EXTRACT=TXT"+'\n';
ext += "SET Address "+ trim;
ext += "ADD !EXTRACT {{StoreName}}"+'\n';
ext += "ADD !EXTRACT {{ContactInfo}}"+'\n';
ext += "ADD !EXTRACT {{Address}}"+'\n';
ext += "SAVEAS TYPE=EXTRACT FOLDER=* FILE={{FOLDER}}.csv"+'\n';
iimPlayCode(header+url)

for(i=1;i<11;i++){

    var k = 12
    k=k+(i*4)
    iimSet("i",i);
    iimSet("k",k);
    iimSet("FOLDER", foldarname);
    iimPlayCode(header+ext);
}

注意:不要忘记将此代码另存为 JavaScript (.js) 文件...

关于javascript - 无法解析 Imacros 中的宏行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38176895/

相关文章:

javascript - 如何在 Angular 2 中使用 *ngFor 打印列表中的 json 数组值?

javascript - imacros javascript 条件 eval 语句

macros - 如何将 2 个文本保存在同一个 file.csv 中,但在 iMacros 上的两个不同列中

batch-file - 创建一个批处理文件来打开 Firefox,然后运行一个宏(等待它完成),然后运行另一个宏

javascript - ASP.NET 在按下 Enter 键时调用 javascript 函数

javascript - 通过带有 Unicode 字符的 JavaScript 为 Excel 生成 CSV

javascript - 在 chrome 开发者控制台隐藏 http 状态代码警告

javascript - 伊宏。如何使用 TAG 将内容写入可编辑 DIV

imacros - 在 iMacros 中使 {{!LOOP}} 增加 10

javascript - 使jquery仅适用于页面上的单个href