Cheerio .css([属性]) 总是 returns 为空?

Cheerio .css([property]) always returns null?

我最近开始使用 NodeJSCheerio。 我正在获取外部 URL,并使用 Cheerio 加载 html。

我偶然发现了一个问题,每当我尝试获取元素的 css 属性时,$.css([property]) 总是 returns null,无论什么选择器或属性我给它。

我在做什么:

var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
app = express();

app.get('/something_something', function (req, res) {
   request('some_url', function (error, response, html) {
       var $ = cheerio.load(html)
//
       console.log($('body').css('width'));
   }
}

这将始终记录 null,无论它有什么选择器或 css 属性。 (请记住我已经过度检查了 jQuery 对象 $('body') 是否存在,无论 URL 存在什么都会发生这种情况)

此外,如果我设置 $('body').css('width', '100px') 然后console.log($('body').css('width')),就会显示100px。所以我猜这不是 css() 方法本身,而是 Cheerio 获取/不获取元素样式的方式

*其他 Cheerio 方法也有效,例如 text()val()remove().

我仍然是一个 NodeJS/Cheerio 新手,所以任何帮助、解释、建议或信息都是宝贵的,

干杯!

Cheerio 是一个 DOM 界面。它解析 HTML 并允许您访问节点及其属性。它不是试图模拟实际浏览器对 HTML 视图的虚拟浏览器。由于它不进行任何渲染或渲染模拟,因此它无法告诉您只有在涉及渲染问题时才能确定的事情(例如 DOM 元素的尺寸)。