Ruby, Nokogiri: récupère le nom de l'élément du nœud sélectionné

introduction

Dans Nokogiri, vous pouvez sélectionner un nœud en spécifiant le nom de l'élément avec css ou at_css, mais au contraire, je me demandais comment obtenir le nom d'élément du nœud sélectionné, alors je l'ai vérifié. ..

utilisez la méthode du nom

Obtenir le nom d'élément d'un nœud est très simple. Supposons que vous ayez le fichier html suivant.

hello.html


<html>
  <head>
    <title>hello</title>
    <meta charset="UTF-8">
  </head>
  <body>
    <p>Bonjour</p>
  </body>
</html>

Sélectionnez la balise p dans at_css.

sample.rb


require 'nokogiri'

html = open('hello_utf8.html').read
doc = Nokogiri::HTML.parse(html)

element = doc.at_css('p')

p element.name  #=> 'p'
p element.parent.name  #=> 'body'

Vous pouvez également utiliser parent, etc. pour sélectionner un autre nœud et obtenir le nom de l'élément.

à la fin

Normalement, je regarde d'abord la structure html puis je la gratte, donc je ne pense pas qu'il y ait beaucoup de demande pour obtenir le nom de l'élément à partir du nœud ^^;

Recommended Posts

Ruby, Nokogiri: récupère le nom de l'élément du nœud sélectionné
[Kotlin] Récupère le nom de l'argument du constructeur par réflexion
Obtenez le nom du scénario de test dans la classe de test JUnit
Obtenez l'URL de la destination de la redirection HTTP dans Ruby
Récupère le nom d'objet de l'instance créée par le nouvel opérateur
Ruby / rexml: tournez chacun avec un élément du même nom
À propos du comportement de ruby Hash # ==
Obtenez l'ID de la numérotation automatique
[Pour les débutants] Comment obtenir le nom de la ligne de chemin de fer différée Ruby
[Ruby] Afficher le contenu des variables
Obtenez les données de tous les joueurs de Premier League en grattant avec Ruby (nokogiri)
Obtenez le type d'un élément d'un tableau pour déterminer s'il s'agit d'un tableau
Je veux obtenir le nom de champ du champ [Java]. (Vieux ton d'histoire)
Obtenez le résultat de POST en Java
[Ruby] Coupez le contenu des publicités Twitter
[Rails] Changer le nom de l'étiquette de f.label
[Swift] Changer la couleur du nœud SCN
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
[Rails] Obtenez le nom du chemin de l'URL avant la transition et modifiez la destination du lien
Nommer et appeler explicitement des méthodes de classe parent dans Ruby
Comment trouver la cause de l'erreur Ruby
[Ruby] Résumé des définitions de classe. Maîtrisez les bases.
[Ruby on Rails] Jusqu'à l'introduction de RSpec
Quand tu te perds dans le nom de la classe
L'histoire de l'introduction de la communication Ajax à Ruby
[Java] Obtenir la longueur de la chaîne de paire de substitution
[JAVA] Récupère uniquement le nom du fichier, à l'exclusion de l'extension
Gérez la version de Ruby elle-même avec rbenv
Comment obtenir le jour d'aujourd'hui
Renommez le nom du package d'un fichier jar existant
[Ruby] Code pour afficher le jour
Le nom officiel de Spring MVC est Spring Web MVC
J'ai vérifié le nombre de taxis avec Ruby
Je veux obtenir la valeur en Ruby
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java