为什么 casper.log 没有记录任何东西?

Why isn't casper.log logging anything?

我想要以下 Casperjs 脚本打开 Google、搜索术语并记录页面标题:

var title = ""
var casper = require('casper').create({
  verbose: true,
  logLevel: 'debug',
  pageSettings: {
    loadImages: false, // The WebPage instance used by Casper will
    loadPlugins: false // use these settings
    //userAgent: 'Mozilla/5.0 (Macintosh Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
  }
})

casper.start('http://google.co.uk/', function() {
  // search for 'casperjs' from google form
  this.fill('form[action="/search"]', {
    q: 'casperjs'
  }, true)
})

casper.thenEvaluate(function() {
  // aggregate results for the 'casperjs' search
  title = document.title
})

casper.log(title, 'warning')

casper.run()

但是没有输出:

[warning] [phantom]

我做错了什么?

您的代码有两个问题。

这应该有效:

casper.then(function() {
    var title = this.evaluate(function() {
      return document.title
    })

    this.log(title, 'warning')
})

甚至这样:

casper.then(function() {
    var title = this.getTitle()

    this.log(title, 'warning')
})