I have a problem with JavaScript magic. When I execute this code:
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();
});
console have only 1 and 3 and no 2. Can anyone say why?
If I paste after my code DOM manipulation example (but it never execute) I have my two. Did I forget something important?
PhantomJS won't log console messages in .evaluate() statements by default. Just include
page.onConsoleMessage = function (msg) {
console.log(msg);
};
See this page for more details/in-depth example:
http://code.google.com/p/phantomjs/wiki/QuickStart#Code_Evaluation
From Google Code
Any console message from a web page, including from the code inside evaluate(), will not be displayed by default. To override this behavior, use the onConsoleMessage callback.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With