我的代码是…
var webPage = require('webpage');
var page = webPage.create();
page.open("http://www.mangaumaru.com/archives/503925", function(status) {
console.log(page.content);
phantom.exit();
});
和"C:>phantomjs main.js"的结果如下:
<html><head><title>You are being redirected...</title>
<noscript>Javascript is required. Please enable javascript
before you are allowed to see this page.</noscript>
我该如何解决这个问题?
JavaScript在PhantomJS中是默认启用的。无论是否启用JavaScript, <noscript>
元素始终是源代码的一部分。当JavaScript被禁用时,元素就不会被呈现。打印来源并不能说明什么。你需要渲染一个截图,例如page.render("screenshot.png")
,看看noscript元素是否可见。
page.open("http://www.mangaumaru.com/archives/503925", function(status) {
setTimeout(function(){
console.log(page.content);
phantom.exit();
}, 10000);
});
或者你可以注册到页面加载事件,这样你就可以看到第二个页面被加载了:
page.open("http://www.mangaumaru.com/archives/503925", function(status) {
page.onLoadFinished = function(status){
console.log(page.content); // actual page
phantom.exit();
};
});