2015-02-24 5 views
0

Я тоже начинаю в Javascript в phantomjs. Я пытаюсь запустить эту простую консольную программу. Но это не печать This is page evaluating!. Также я могу видеть это сообщение на консоли Page is opened successfully.page.evaluate() не печатает сообщение консоли

Вот моя программа:

var page=require('webpage').create(); 

page.open("https://www.google.com/", function(){ 
    console.log("Page is opened successfully"); 

    page.evaluate(function(){ 
     console.log('This is page evaluating!'); 
    }); 

    phantom.exit(); 
}); 

Полный выход:

 
Page is opened successfully 

ответ

1

Вы должны зарегистрироваться на page.onConsoleMessage событие, чтобы увидеть console.log() из контекста страницы, выводимого на консоль, потому что страницы context (внутри page.evaluate()) изолирован и эти события не отображаются автоматически.

page.onConsoleMessage = function(msg, lineNum, sourceId) { 
    console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")'); 
}; 

Регистрация на событие перед вызовом page.evaluate() который содержит console.log(), что вы заинтересованы в большинстве случаев это должно быть сделано после инициализации глобальных переменных:.

var page = require('webpage').create(); 

page.onConsoleMessage = function(msg) { 
    console.log('remote> ' + msg); 
}; 

page.open("https://www.example.com/", function(){ 
    console.log("Page is opened successfully"); 

    page.evaluate(function(){ 
     console.log('This is page evaluating!'); 
    }); 

    phantom.exit(); 
}); 

Другой полезно события: onResourceError, onError и onResourceError.

+0

Но мой вопрос, почему 'page.evaluate' *** НЕ *** печатает что-нибудь? Предположим, я хочу захватить форму, где я хочу увидеть свою электронную почту для проверки. Так как я могу это достичь? –

+0

Вот что я ответил. Вам нужно зарегистрироваться в консольном сообщении, прежде чем вы будете 'console.log()' что-то в контексте страницы. –

+0

Нет, это был не тот ответ, что я смотрел. Извините, что сломал вам человека .. –

Смежные вопросы