我正在使用CasperJS来捕获浏览器控制台的日志,但它不起作用。
[subs="macros,attributes"]
----
link:{my_attribute}[Example Link,window="_blank"].
----
在Chrome中,该页面会输出一些日志,如:
var casper = require('casper').create({
logLevel: "debug"
});
var domain, port, userName, designID, token, outPath, reportUrl, explorerUrl, sourcePage;
var images = [];
if(casper.cli.has(5)){
// Get argvs
domain = casper.cli.get(0).toLowerCase();
port = casper.cli.get(1);
userName = casper.cli.get(2);
designID = casper.cli.get(3);
token = casper.cli.get(4);
outPath = casper.cli.get(5);
}
reportUrl = 'http://' + domain + ':' + port + '/design?file_id=' + designID;
casper.on('remote.message', function(message) {
this.log('remote message caught: ' + message);
});
casper.start(reportUrl, function() {
this.evaluate(function sendLog(log) {
// you can access the log from page DOM
console.log('from the browser, I can tell you there are ' +
log.length + ' entries in the log');
}, this.result.log);
});
casper.run();
但在CasperJS中,它不会输出任何日志。
答案 0 :(得分:0)
如果将log
替换为echo
,您应该看到以下(简化)脚本正在运行:
var casper = require('casper').create();
casper.on('remote.message', function (message) {
this.echo('Message: ' + message);
});
casper.start('http://example.com/');
casper.waitForSelector('body', function () {
this.evaluate(function () {
console.log('Hello, World!');
});
});
casper.run();
但如果您真的想使用log
,则需要指定verbose
选项以及日志级别......
从命令行:
casperjs --log-level=debug --verbose=true example.js
来自剧本:
var casper = require('casper').create({
logLevel: 'debug',
verbose: true
});