我正在试验PhantomJS。这是一个不能按预期工作的简单代码。运行后我可以在控制台success
和foo
中看到,但文档的标题是一个空字符串。
var page = require('webpage').create();
page.open('https://www.google.com', function(status) {
console.log("Status: " + status);
if(status === "success") {
console.log("foo");
console.log(document.title);
phantom.exit();
}
});
答案 0 :(得分:4)
获得标题的简便方法是使用page.title
。
document.title
没有给你任何东西的原因是因为PhantomJS有两个不同的背景。只有页面上下文(在page.evaluate()
内)才能访问DOM,因此可以访问document
对象。外部上下文也有一个document
对象,但它没有做任何事情,因此只是一个虚拟对象。 window
也是如此。
所以获取页面标题的另一种方法是使用:
console.log(page.evaluate(function(){
return document.title;
}));