Javascript Can';t在CasperJS中让console.log在内部工作

Javascript Can';t在CasperJS中让console.log在内部工作,javascript,phantomjs,casperjs,Javascript,Phantomjs,Casperjs,我擅长用casperjs测试一些东西,调试简单的东西时遇到困难,我想在evaluate中运行console.log,阅读一些示例,但仍然无法让它工作。这是我的测试代码: var casper = require("casper").create(); var system = require('system'); var url = casper.cli.get(0); var casper = require('casper').create({ verbose: true,

我擅长用casperjs测试一些东西,调试简单的东西时遇到困难,我想在evaluate中运行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();
});

我确实打印了“完成”,但从未打印“测试”,我做错了什么?

刚刚找到解决方案,我使用的是phantomjs的方法,我必须使用

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

您也可以尝试下面的解决方案,而不必使用onsolemessage

//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');
 });

我已经结束了你的问题。重复目标问题很奇怪,但它的答案完全符合您的问题。@ArtjomB。我已经搜索了很多问题,但找不到那个问题,我只找到了幻影的答案,应该有人编辑这个问题的标题。