The sitemap (https://futebolnatv.com.br/jogos-hoje/) looks like this:
<div >
<div >
<span >0</span>
<img src="https://futebolnatv.com.br/static/times/ba92f23d6f11341548d808a0ec309acc.png" width="25" height="25">
"Holstein Kiel"
</div>
Using CheerioGS
, to collect the text value I use this path:
let elements_2 = $('tbody > tr > td > div:nth-child(2)')
elements_2.each((index, value) => {
sheet.getRange(index 1, 3).setValue($(value).text().trim())
})
But instead of just the name Holstein Kiel
, it's coming with this number that's inserted into <span>
that I don't want:
0
Holstein Kiel
The expected return is:
Holstein Kiel
What should I change to resolve this issue?
CheerioGS project:
https://github.com/tani/cheeriogs
CodePudding user response:
You need to change your selector from
$(value).text().trim()
to
$(value).contents().last().text().trim()
Explanation: instead of retrieving text of whole matched element, you need to get all its nodes first (via contents()
), then get text node you need (via last()
). Rest of code is unchanged.
Reference: