【发布时间】:2015-09-06 12:06:36
【问题描述】:
我正在使用 CasperJS 抓取多个页面,但我卡住了。
最大页数为 200,但如果下面的 XPath 不存在,我想停止执行(对于第 200 页之前的页面)。
如何设置i变量?
var casper = require('casper').create();
var x = require('casper').selectXPath;
for (var i=1; i <=200; i++) {
casper.wait(6000, function() {
casper.thenClick(x('//*[@id="mArticle"]/div[2]/a['+i+']'), function (){
console.log('Searching dic');
words = words.concat(this.evaluate(getWords));
});
});
}
【问题讨论】:
-
你可以用
break;转义循环 -
@DanielCheung 你会把它放在哪里?
-
除了发明时间机器之外,您无法停止循环,因为它已经在 6 秒前运行。你需要重新思考逻辑。
-
你把它放在 if 语句中?
-
@DanielCheung 你会把它放在哪里?你知道主逻辑是异步运行的吗?
标签: javascript if-statement for-loop xpath casperjs