我正在试验 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();
}
});
最佳答案
获取标题的简单方法是使用 page.title
.
document.title
没有给你任何东西的原因是 PhantomJS 有两个不同的上下文。只有页面上下文(在 page.evaluate()
内部)可以访问 DOM,因此可以访问 document
对象。外部上下文也有一个 document
对象,但它什么都不做,因此只是一个虚拟对象。 window
也是如此。
所以获取页面标题的另一种方法是使用:
console.log(page.evaluate(function(){
return document.title;
}));
关于javascript - 在 PhantomJS 中获取页面的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335824/