无法在CasperJS中使用console.log在evaluate中工作

时间:2016-02-26 00:56:33

标签: javascript phantomjs casperjs

我用casperjs测试一些东西,我在调试简单的东西时遇到麻烦,我想在里面运行一个console.log评估,阅读一些例子,但仍然无法使它工作。这是我的测试代码:

var casper = require("casper").create();
var system = require('system');
var url = casper.cli.get(0);

var casper = require('casper').create({
    verbose: true,
    logLevel: "debug"
});

casper.onConsoleMessage = function(msg) {
    system.stderr.writeLine('console: ' + msg);
};

casper.start(url, function () {
    this.evaluate(function() { console.log('test'); });
});

casper.run(function() {
    console.log('done');
    this.exit();
});

我确实已经完成了#34;打印,但从来没有"测试",我做错了什么?

2 个答案:

答案 0 :(得分:1)

您也可以尝试以下解决方案

//Code to display Console errors
casper.on('remote.message', function (msg) {
     console.log('remote message caught: ' + msg);
 });

//Code to display errors from the page
 casper.on('page.error', function (msg, trace) {
     console.log('Error: ' + msg, 'ERROR');
 });

答案 1 :(得分:0)

刚刚找到解决方案,我正在使用phantomjs的方法,我不得不使用

casper.on('remote.message', function(msg) {
    this.echo('remote message caught: ' + msg);
})

而不是onConsoleMessage