I am trying to render a a javascript evaluated source code from a website using phantomjs. But every time I try i only get the source code as is (similar to view source from the browser). What I actually want is the javascript evaluated code (what we see from inspect element from google chrome browser). My code looks like this:
var page = require('webpage').create();
page.open('/', function (s) {
console.log(page.content);
phantom.exit();
});
Am I doing something wrong here?
I am trying to render a a javascript evaluated source code from a website using phantomjs. But every time I try i only get the source code as is (similar to view source from the browser). What I actually want is the javascript evaluated code (what we see from inspect element from google chrome browser). My code looks like this:
var page = require('webpage').create();
page.open('http://www.google./', function (s) {
console.log(page.content);
phantom.exit();
});
Am I doing something wrong here?
Share Improve this question asked Feb 28, 2013 at 16:45 TranceyTrancey 7092 gold badges8 silver badges19 bronze badges2 Answers
Reset to default 5This did the trick for me:
window.setTimeout(function () {
page.render(output);
phantom.exit();
}, 1000);
Likely yes. In many cases, the JavaScript code on the web page is not executed immediately. You can take this into account by giving a little delay, e.g. using setTimeout, before taking the value of page.content.