javascript跳过步骤,只执行最后一个命令

javascript跳过步骤,只执行最后一个命令,javascript,asp.net,web-scraping,Javascript,Asp.net,Web Scraping,有人可以帮我在JS刮刀编码,我试图创建一个网站,使用ASP一样的编码 我们使用该网站下载我们最新的软件培训手册,我们每次点击每个项目都要下载50多个手册。下载管理器无法工作,因为这些PDF链接到as _udopostback()节点。如果我只对一个条目使用编码,它工作得很好,但在我开始批处理命令时,它会跳过\uu doPostBack,直到到达最后一个条目,然后只执行该条目。我曾尝试添加一个sleep命令来降低进程速度(如果这是问题的话),但所做的只是将脚本休眠x-ms,并跳过将文件保存到循环的

有人可以帮我在JS刮刀编码,我试图创建一个网站,使用ASP一样的编码

我们使用该网站下载我们最新的软件培训手册,我们每次点击每个项目都要下载50多个手册。下载管理器无法工作,因为这些PDF链接到as _udopostback()节点。如果我只对一个条目使用编码,它工作得很好,但在我开始批处理命令时,它会跳过
\uu doPostBack
,直到到达最后一个条目,然后只执行该条目。我曾尝试添加一个sleep命令来降低进程速度(如果这是问题的话),但所做的只是将脚本休眠x-ms,并跳过将文件保存到循环的任务

注意:我对Javascript不是很有经验,所以下面的编码可能会有一些问题,我们非常感谢您的帮助

我正在使用Google Chrome和Javascript控制台运行以下脚本:

//Sleep function found on StackOverflow to slow down script for cmdlet
function sleep(milliseconds) {
    var start = new Date().getTime();
    for (var i = 0; i < 1e7; i++) {
        if ((new Date().getTime() - start) > milliseconds){
            break;
        }
    }
}

// Node starts with Index 2, so we start there to avoid errors
var i = 2;

while (i <= 15){
    console.log (i);

    // Execute __doPostBack(...) depending on int values
    switch(i){
        case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
            var cmdlet = "GridViewLevel3$ctl0" + i + "$lnkFolder3";
            console.log (cmdlet);
            __doPostBack(cmdlet,'');
            sleep(6000);
            break;
        case 10: case 11: case 12: case 13: case 14: case 15:
            var cmdlet = "GridViewLevel3$ctl" + i + "$lnkFolder3";
            console.log (cmdlet);
            __doPostBack(cmdlet,'');
            sleep(6000);
            break;
        default:
            console.log("Error!"); //Handle Exceptions here...
            break;
    };

    i = i + 1;
}
//在StackOverflow上找到Sleep函数,用于减慢cmdlet的脚本速度
函数睡眠(毫秒){
var start=new Date().getTime();
对于(变量i=0;i<1e7;i++){
如果((新日期().getTime()-start)>毫秒){
打破
}
}
}
//节点以索引2开始,因此我们从那里开始以避免错误
var i=2;

虽然(i)是同步或异步的_udopostpack?永远不要使用那种睡眠方式…而是使用回调来设置超时。否则,您只需为了nothing@mpm我不知道?我怎么知道?脚本不清楚请把我们能帮助您的所有东西都放进去看起来像
\uuuDoPostBack()
函数是异步的,这并不奇怪,因为它可能是HTTP事务和实际下载发生的地方。我建议您发布它的定义。如果
\u doPostBack()
旨在启用您试图实现的用例,它应该提供回调函数,可能是您在此处留空的第二个参数。有关回调和异步性的介绍,请参阅以下链接,即“doPostPack synchronous”或“asynchronous”?永远不要使用那种睡眠…使用callbacks改为setTimeout。否则,您只需为设置超时而杀死处理器nothing@mpm我不知道?我怎么知道?脚本不清楚请把我们能帮助您的所有东西都放进去看起来像
\uuuDoPostBack()
函数是异步的,这并不奇怪,因为它可能是HTTP事务和实际下载发生的地方。我建议您发布它的定义。如果
\u doPostBack()
旨在启用您试图实现的用例,它应该提供回调函数,可能作为您在此处留空的第二个参数。有关回调和异步性的介绍,请参阅以下链接