Cheerio .css()总是返回null?
我最近开始和Cheerio一起使用NodeJS 。 我得到一个外部URL,并加载与Cheerio的HTML。
我偶然发现了一个问题,每当我试图获取一个元素的CSS属性, $.css([property])
总是返回null
,无论我给它什么select器或属性。
我在做什么:
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')); } }
无论使用哪种select器或CSS属性,这将始终logging为null
。 (请记住,我已经过度检查了jQuery对象$(“body”)是否存在,并且无论这个URL是什么都会发生)
另外,如果我设置$('body').css('width', '100px')
,然后console.log($('body').css('width'))
,它将显示100px。 所以我猜这不是css()方法本身,但Cheerio获取/不获取元素样式
*其他Cheerio方法的工作,如text()
, val()
, remove()
。
我仍然是一个NodeJS / Cheerio新手,所以任何帮助,解释,build议或信息将是金,
Cheerio!
Cheerio是一个DOM界面。 它parsingHTML并允许您访问节点及其属性。 这不是一个虚拟浏览器,它试图模拟一个真正的浏览器的HTML视图。 由于它不做任何渲染或模拟渲染,所以它不能告诉你只有在涉及渲染问题时才能确定的事情(如DOM元素的尺寸)。