imacros javascript循环通过csv文件

时间:2015-08-11 20:11:55

标签: javascript loops imacros

我有这个代码访问URL并抓取其内容,它具有搜索动态帧的功能,一切正常。现在我想让它循环遍历包含URL的csv文件,我该怎么做?

var visitUrl;
visitUrl =  "CODE:";
visitUrl += "URL GOTO=http://www.example.com" + "\n";
visitUrl += "WAIT SECONDS=1" + "\n";

var getSiteInfo;
getSiteInfo =  "CODE:";
getSiteInfo += "TAG POS=1 TYPE=SPAN ATTR=ID:Title EXTRACT=TXT" + "\n";
getSiteInfo += "FRAME F={{frame}}" + "\n";
getSiteInfo += "TAG POS=1 TYPE=DIV ATTR=ID:iframeContent EXTRACT=HTM" + "\n";
getSiteInfo += "SAVEAS TYPE=EXTRACT FOLDER=E:\ FILE=File.csv" + "\n";

//////////Beginning/////////////
iimPlay(visitUrl)

//calling for the function which will find the frame
var frame=SearchFrame();

iimSet("frame",frame)

function SearchFrame() {
    var check =  "CODE:";
    check +=  "FRAME F={{i}}" + "\n"; 
    check +=  "TAG POS=1 TYPE=DIV ATTR=ID:iframeContent" + "\n";

    frame=0;

    for(i=1;i<=10;i++) {
        iimSet("i",i)

        //if the result of the macro is true save frame number and break

        if(iimPlay(check)==true) {
            frame=i;
            break;
        }
    }

    //return frame number
    return frame;
}

iimPlay(getSiteInfo)

当我添加

时,还有一个问题
getSiteInfo += "SET !EXTRACT EVAL(\"var text=\"{{!EXTRACT}}\"; text.replace(/<\s*\\/?\s*div\s*.*?>/g, ''); \")" + "\n";

我收到错误:SET命令格式错误,第6行(错误代码:910),此行有什么问题吗?

1 个答案:

答案 0 :(得分:0)

getSiteInfo += "SET !EXTRACT EVAL(\"var text=\"{{!EXTRACT}}\"; text.replace(/<\s*\\/?\s*div\s*.*?>/g, ''); \")" + "\n";

将其替换为。

var text=iimGetLastExtract();

text=text.replace(/<\s*\\/?\s*div\s*.*?>/g, '');

它应该可以解决你的问题。