Aller au contenu

Comment extraire un élément dont le nom commence par un signe de ponctuation avec XPath ?

Antoine Brisset
Antoine Brisset
Temps de lecture : 1 min
Comment extraire un élément dont le nom commence par un signe de ponctuation avec XPath ?
Photo by Towfiqu barbhuiya / Unsplash

Table des matières

La semaine dernière, alors que j'étais en train de développer un petit script Ruby pour des besoins de scraping, je suis resté bloqué quelques minutes sur un problème que je n'avais encore jamais rencontré.

Il fallait que je récupére la valeur d'un attribut HTML avec XPath (jusque là tout va bien), mais cet attribut commençait par un signe de ponctuation.

En l'occurrence, les deux-points : <div :event="{...}">.

Pourquoi cette syntaxe ? Aucune idée. L'explication est peut-être à chercher du côté du framework JS utilisé par le site en question (Vue.js).

Au final, peu importe.

La présence des deux-points rendait l'expression XPath ci-dessous invalide.

//div/@:event
❌ expression invalide !

J'ai donc fouillé un peu sur le web pour trouver comment faire et voilà la solution que j'ai trouvée.

//div/@*[name()=':event']
✅ expression valide !

L'astuce, c'est donc d'utiliser la fonction name().

L'expression XPath //div/@*[name()=':event'] va sélectionner tous les attributs (@) qui sont contenus dans une balise div et qui ont pour nom  (name()=) la chaine de caractères ":event".

Si je voulais aller plus loin et sélectionner tous les attributs commençant par les deux-points, je pourrais même écrire :

//div/@*[starts-with(name(), ':')]

Petite précision : l'astérisque – * – indique ici de sélectionner tous les éléments du contexte courant répondant aux critères définis par les fonctions starts-with() et name().

Et voilà ! C'est tout pour aujourd'hui :)

XPath

Antoine Brisset Twitter

Consultant SEO depuis 2010. Je traque les clics inutiles et automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.

Commentaires


Articles Similaires

Membres Public

XPath : 4 raccourcis que tu utilises sans même le savoir

Cette semaine, je suis tombé sur une excellente présentation de Jonathan Moore au Brighton SEO à propos de XPath : The Xpath To Discovery. Des rappels sur les fondamentaux, des astuces, des cas d'usage avec Screaming Frog... je te conseille vraiment de la lire. En la parcourant, je me suis souvenu

XPath : 4 raccourcis que tu utilises sans même le savoir