运行casperjs的多个实例

时间:2013-03-15 16:30:40

标签: casperjs

我需要同时运行3个url请求。我想要运行3个casper实例,每个实例获取一个url。 举个简单的例子,我尝试了2个实例。

var casper=require('casper').create();
casper.start('http://www.google.com');

var casper1=require('casper').create();
casper1.start('http://www.google.com');

casper1.then(function() {
    casper1.echo('inside');
});
casper1.echo('outside');

casper1.run();
casper.run();

输出只显示'outside'。为什么它不运行casper1.echo('inside');

1 个答案:

答案 0 :(得分:2)

CasperJS使用一堆命令,无论何时使用api中的一个函数(start,then,thenOpen等),都会创建这些命令。一旦所有项目在堆栈中排队,您就可以通过执行casper.run()来按顺序执行它们。如果没有将某些内容添加到堆栈中,Casper将不会执行它。

简单地说,casper1.echo('outside')没有被执行,因为它从未被添加到堆栈中。

关于该主题的他们FAQ会更详细地分解它。