我对 Phantomjs 很陌生,并且开始了解如何使用它。然而,所有的半高级教程都没有涵盖我想要使用 Phantomjs 的东西。
现在我的问题是我将如何检查网站上的 Javascript 是否处于活动状态以及它是否正常工作(即不在控制台中抛出错误)。
我希望有人能够指出我正确的方向或知道如何做到这一点。
我对 Phantomjs 很陌生,并且开始了解如何使用它。然而,所有的半高级教程都没有涵盖我想要使用 Phantomjs 的东西。
现在我的问题是我将如何检查网站上的 Javascript 是否处于活动状态以及它是否正常工作(即不在控制台中抛出错误)。
我希望有人能够指出我正确的方向或知道如何做到这一点。
您可以使用pages.evaluate方法与打开的页面进行交互:
var page = require('webpage').create();
page.open('http://m.bing.com', function(status) {
var title = page.evaluate(function(s) {
//what you do here is done in the context of the page
//this console.log will appear in the virtual page console
console.log("test")
//here they are just returning the page title (tag passed as argument)
return document.querySelector(s).innerText;
//you are not required to return anything
}, 'title');
console.log(title);
phantom.exit(); //closes phantom, free memory!
});
为了看到虚拟页面控制台,你必须添加一个onConsoleMessage 回调:
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
编辑:默认情况下执行 javascript。