I'm making a webscraper using cheerio
and request
in NodeJS and I can't get a special value from a div
.
I would get the 'idproduit' value (223) from this div
:
<div class="vignette_footer js-vignette_footer" idproduit="223">
For this I'm doing:
$('.vignettes_produit li').each(function(i, element) {
var jsObject = { id: id++, idProduit: null};
jsObject.idProduit = $(this).find('.vignette_footer).attr('idproduit');
});
But it's gaving me an undefined
result.
Does anyone know how I have to do ?
Changing $('.vignettes_produit li')
to $('li[class="vignettes_produit"]')
should solve your issue. For example:
let cheerio = require('cheerio')
let $ = cheerio.load('<ul><li class="vignettes_produit"><div class="vignette_footer js-vignette_footer" idproduit="223">1</div></li><li class="vignettes_produit"><div class="vignette_footer js-vignette_footer" idproduit="345">2</div></li><li class="vignettes_produit"><div class="vignette_footer js-vignette_footer" idproduit="456">3</div></li></ul>')
$('li[class="vignettes_produit"]').each(function(i, element) {
console.log($(this).find('.vignette_footer').attr('idproduit'))
})