lxml recupero di elementi dispari con CssSelector
-
18-09-2019 - |
Domanda
Nel mio documento di prova ho un paio di classi etichettati come "voce", attualmente sto usando la seguente per analizzare tutto nel file html con questa classe con
Selection = html.cssselect(".item")
mi piacerebbe che per selezionare tutti gli oggetti strani, come questo in javascript utilizzando jQuery
Selection = $(".item:odd");
Cercando che testualmente ricevo il seguente errore
lxml.cssselect.ExpressionError: Il simbolo pseudo-classe (u'odd', 6) è sconosciuto
So che questo sarebbe banale da implementare per conto mio, mi chiedevo se questo è supportato da lxml modo nativo.
Soluzione
La "strana" e "anche" caratteristiche sono parte di un selettore denominato "nth-child ()"; dare un'occhiata alla specifica selettore CSS per maggiori dettagli:
http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#nth-child-pseudo
Pertanto, si dovrebbe essere in grado di ottenere esattamente il comportamento che si desidera (e funziona per me con CssSelector qui) con:
".item:nth-child(odd)"