我想得到那么多定居点。
但它不起作用。
这段代码有什么问题?
我应该在哪里编辑这段代码?
我期待的结果: 总价值:2614
但总计的结果是0。
casperjs代码是。
var test = 0;
var num1 = 0;
var num2 = 0;
var casper = require('casper').create({
// verbose: true,
logLevel: 'debug',
// clientScripts: ["/vendor/jquery.min.js"],
pageSettings: {
loadImages: false,
loadPlugins: true,
encoding: 'utf8',
colorizerType: 'Dummy',
userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
}
});
casper.start();
casper.then(function() {
casper.thenOpen('https://github.com/Medium/phantomjs', function(){
msg = 'phantomjs : ' + (this.fetchText('#js-repo-pjax-container > div.container.new-discussion-timeline.experiment-repo-nav > div.repository-content > div.overall-summary.overall-summary-bottomless > div > div > ul > li.commits > a > span', true));
num1 = parseInt(msg.replace(/[^0-9]/g,'')); // result : 390
});
casper.thenOpen('https://github.com/casperjs/casperjs', function(){
msg = 'github : ' + (this.fetchText('#js-repo-pjax-container > div.container.new-discussion-timeline.experiment-repo-nav > div.repository-content > div.overall-summary.overall-summary-bottomless > div > div > ul > li.commits > a > span', true));
num2 = parseInt(msg.replace(/[^0-9]/g,'')); // result : 2224
});
total = num1 + num2;
// 390 + 2224 = 2614
this.echo('total : ' + total);
// but result is 0
});
casper.run();
答案 0 :(得分:0)
在打开页面之前评估您的echo语句。您需要使用.then
将其包装一步,它才能正常工作。
casper.then(function() {
total = num1 + num2;
// 390 + 2224 = 2614
this.echo('total : ' + total);
// but result is 0
})