gpt4 book ai didi

javascript - Cheerio .css([property]) 总是返回 null?

转载 作者:行者123 更新时间:2023-11-30 00:09:16 25 4
gpt4 key购买 nike

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

我偶然发现了一个问题,每当我试图获取元素的 css 属性时,$.css([property]) 总是返回 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 接口(interface)。它解析 HTML 并允许您访问 Node 及其属性。它不是试图模拟实际浏览器的 HTML View 的虚拟浏览器。由于它不进行任何渲染或渲染模拟,因此它无法告诉您只有在涉及渲染问题时才能确定的事情(例如 DOM 元素的尺寸)。

关于javascript - Cheerio .css([property]) 总是返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com