我最近探索了nodejs和phantomjs,并编写了一个小代码来测量页面加载时间。我发现nodejs中封装的phantomjs代码与纯phantomjs代码相比,页面加载时间有所不同。下面是代码: phantomjs和nodejs进行比较:
Nodejs:
var http = require('http'),
phantom = require('phantom');
url = require("url");
http.createServer(function (request, response) {
var start = Date.now();
request.on('end', function () {
phantom.create(function(ph) {
ph.createPage(function(page) {
var _get = url.parse(request.url, true).query;
page.open(_get[url], function(status) {
if (status == 'success') {
var time = Date.now() - start;
console.log(time);
}
});
});
});
});
}).listen(80,'');Phantomjs:
var page = require('webpage').create();
var system = require('system');
var address = system.args[1];
var time = 0;
var start = Date.now();
page.open(address, function (status) {
time = Date.now() - start;
console.log(time + '');
});当通过phantomjs测试站点时,时间通常要长4倍。有什么想法吗?
发布于 2013-08-22 07:56:44
PhantomJS不支持输出数据,它只打开一个网页。通过以下方式连接它们-它创建一个ExpressJS实例,并使用另外两个库通过其socket.io plus传输数据。数据是这样的:
WebPage > Phantom.js > + > Express.js > Socket.io > Node.js
我现在读到的关于的速度和性能也有同样的问题,那就是没有拐杖的原生WebKit支持Node.js模块。
发布于 2020-08-10 22:47:32
在一些网站上,我发现这对Phantom JS的加载时间有好处。
page.settings.loadImages = false;https://stackoverflow.com/questions/13881770
复制相似问题