Оценка в PhantomJS, похоже, не работает

У меня проблема с волшебством JavaScript. Когда я выполняю этот код:

var page = require('webpage').create();
var url="http://google.com";
page.open(url, function (status){
  if (status!== "success") {
    console.log("Fail to load: "+url)
  }else{
    console.log('1');
    page.evaluate(function() {
      console.log('2');
      });   
    console.log('3');
  }
phantom.exit();
});

Консоль есть только 1 и 3 и нет 2. Кто-нибудь может сказать, почему?

Если я вставлю после моего кодаПример манипуляции с DOM (но это никогда не выполняется) У меня есть два. Я забыл что-то важное?

Ответы на вопрос(3)

вы можете вернуть значение, которое хотите распечатать.

Например

console.log(page.evaluate(function() {
    return '2';
});

Google Code

Любое консольное сообщение с веб-страницы, в том числе из кода внутри функции define (), не будет отображаться по умолчанию. Чтобы переопределить это поведение, используйте обратный вызов onConsoleMessage.

Решение Вопроса

valuate () по умолчанию. Просто включите

page.onConsoleMessage = function (msg) {
    console.log(msg);
};

См. Эту страницу для более подробной информации / подробный пример:

http: //code.google.com/p/phantomjs/wiki/QuickStart#Code_Evaluatio

Ваш ответ на вопрос