据我所知,在不渲染的情况下获得计算样式是不可能的。因此,您可以查看 Phantom js 或 Selenium 以在服务器上无头渲染页面。或者你看看你从这个 stylestat 得到的信息是否足够好https://github.com/t32k/stylestats。
作为第三种选择,您可以使用请求下载页面,使用https://www.npmjs.com/package/cheerio查找样式表参考,然后再次下载这些文件并使用https://www.npmjs.com/package解析它/cssparser。
第三个选项示例:
var request = require('request');
var cheerio = require('cheerio');
var cssparser = require("cssparser");
var cssbeautifier = require('cssbeautifier');
var parser = new cssparser.Parser();
var $;
request('http://www.modulus.io', function (error, response, body) {
if (!error && response.statusCode == 200) {
// Load into cheerio so we can work with it
// as we would with jQuery
$ = cheerio.load(body);
var stylesheet = $('link[type="text/css"]').attr('href');
request('http://www.modulus.io' + stylesheet, function(error, response, body){
var css = cssbeautifier(body);
var json = parser.parse( css );
console.log('Your json ===>>', json);
});
}
});
但是由于该页面在样式表中使用了一些未知字符,因此该脚本错误,因此您需要找到解决方法。
希望对你有帮助,祝你好运!