假设我有一个网址数组。我不想使用打开功能。因为它会等待之前的每个 url 被加载,从而减少加载时间。
casper.each(hrefs,function(self,href){
self.thenOpen(href,function(){ });
self.then(function(){
// Selectors
});
});
与上述方法相比,您会使用什么方法来减少花费?在数据库中创建多个实例存储然后获取会有效吗?但这很令人头痛。并且还希望您回答一下,当我同时运行同一 js 文件的多个实例时,我是否会遇到问题?
如果您不关心正在打开的所有 URL 之间的行为同步,那么您应该为每个 URL 启动多个 casper 实例。这是一个例子:
var casperActions = {
href1: function (casper) {
casper.start(address, function() {...});
// tests and what not for href1
casper.run(function() {...});
},
href2: function (casper) {
casper.start(address, function() {...});
// tests and what not for href2
casper.run(function() {...});
},
...
};
['href1', 'href2', ...].each(function(href) {
var casper1 = require('casper').create();
casperActions[href](casper);
});
每个实例都将彼此独立运行,但它允许您同时访问多个 URL。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)