CasperJS在处理大数字循环时挂起

时间:2017-02-07 21:38:48

标签: javascript phantomjs casperjs

即使在一个简单的代码上,CasperJS似乎在呈现一个大的迭代次数时会挂起,例如:

function urlCheck(url) {
     // Thing to do with url
}

casper.start('https://www.exampleAPI.com', function() {
     console.log('Booted up first page.');
});

casper.then(function() {
    for (var i = 0; i < 5000000; i++) {
        urlCheck('https://www.exampleAPI.com/api/id=' + i)
    };
});

casper.run();

对于第一千个内的任何东西似乎都没问题 - 即4位数长。除此之外,我会得到第一个“启动......”#39;消息,但然后脚本挂起处理数字。我已经跑了几个小时来测试它是否只是一个处理时间,但没有雪茄。

任何帮助都会受到超级赞赏!

1 个答案:

答案 0 :(得分:0)

您是否尝试过避免加载插件和图片?那将是一件容易的事:

    var casper = require('casper').create({
        pageSettings: {
            loadImages : false,
            loadPlugins : false,
        }
    });

另一种选择是创建新页面并再次关闭(清理)它们,如描述here on github