J'utilise nokogiri gem sur mon application rails pour obtenir des nœuds html. Je reçois ma div par sa classe. Mais ce nom de classe va changer parfois. Par exemple, je reçois en ce moment comme ceci:Nokogiri - Get div avec classe par regex
doc.css("div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")
mais que « x15 » peut être « x13 », par exemple. Je pouvais faire quelque chose comme ceci:
doc.css("div.t.m0.x13.h3.ff2.fs1.fc0.sc0.ls0.ws1", "div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")
Ce travaillerais, mais je pense qu'il serait plus agréable de définir une plage, comme x13-x15, donc s'il est un x14, je ne ai pas besoin de le garder si bavard.
Des conseils sur la façon de faire cela? Merci!
EDIT:
Je ne peux pas enlever la classe « x * », parce que il y a un autre div avec la même une autre classe, donc quelles différences les deux éléments est la classe « x ». L'autre est xa, xb; et celui que j'essaye d'obtenir est x13, x15.
ne pourriez-vous pas faire 'doc.css (" div.t.m0.h3.ff2.fs1.fc0.sc0.ls0.ws1 ")' (sans le ' x13' ou 'x15'), puis vérifiez si l'élément sélectionné possède également une classe' x \ d \ d'? – GolfWolf
Peut-être que vous pouvez cibler la div avec un sélecteur qui n'est pas affecté par le changement? À quoi ressemble votre balisage? Pourquoi la classe change-t-elle? _ "x15 peut être x13" _ semble un peu arbitraire. – Stefan
Ne peut pas faire cela les gars, mis à jour la question. Il y a un autre élément que j'obtiendrais si je supprimais la classe x * –