在PhantomJS中获取页面标题

时间:2015-09-01 15:44:37

标签: javascript phantomjs

我正在试验PhantomJS。这是一个不能按预期工作的简单代码。运行后我可以在控制台successfoo中看到,但文档的标题是一个空字符串。

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();
  }
});

1 个答案:

答案 0 :(得分:4)

获得标题的简便方法是使用page.title

document.title没有给你任何东西的原因是因为PhantomJS有两个不同的背景。只有页面上下文(在page.evaluate()内)才能访问DOM,因此可以访问document对象。外部上下文也有一个document对象,但它没有做任何事情,因此只是一个虚拟对象。 window也是如此。

所以获取页面标题的另一种方法是使用:

console.log(page.evaluate(function(){
    return document.title;
}));