Programmation

jeudi 9 février 2023, 08:52  #1
Programmation - Apprenti Scrapper
Alias
  • 3 posts

J’ai des soucis avec la question du dernier enfant d’un élément :

Admettons le code suivant :

<tr lang="Y0HA1aOFXD">
  <td lang="zuAT6y1iqI">Bidule</td>
  <td lang="hJkgH33">
      <div><b>truc></b></div>
  </td>
</tr>

La question est : "What’s the last child’s tag of tr with lang=Y0HA1aOFXD ?"
Perso, je pense que la réponse est "td" c’est à dire celui avec l’attribut lang="hJkgH33"

Hors le challenge me répond systématiquement faux, à toutes les questions "dernier élément".
Est-ce que je peux avoir votre conseil là-dessus ?

mardi 14 février 2023, 20:29  #2
Programmation - Apprenti Scrapper
EmilienP
  • 7 posts

J’ai appliqué la même logique que toi et ça a fonctionné, donc il doit y avoir un autre soucis qui fait que ta réponse n’est pas accepté.
Edit : Alors non je viens de vérifier car j’utilise directement une méthode de BeautifulSoup qui liste les children et effectivement dans un cas comme celui que tu as présenté ça n’est pas le dernier "enfant" mais le dernier "descendant". La question est ambigue.

mercredi 15 février 2023, 11:00  #3
Programmation - Apprenti Scrapper
Alias
  • 3 posts

Désolé de revenir vers toi, mais je ne comprend pas ta réponse. ":last-child" donne le dernier enfant d’un élément. Je comprend pas ce que tu veux dire par "ça n’est pas le dernier enfant mais le dernier descendant". Dans mon exemple HTML, quel élément considérerais-tu comme étant la bonne réponse à la question stp ?

mercredi 15 février 2023, 18:42  #4
Programmation - Apprenti Scrapper
EmilienP
  • 7 posts

dans ton exemple la bonne réponse est b. Je suis d’accord que c’est assez contre intuitif. En python avec BeautifulSoup j’ai utilisé findChildren() qui me retourne tous les éléments (donc dans ton example les 3 tds, puis le div, puis le b) et il se trouve que le dernier est effectivement le bon.

vendredi 17 février 2023, 16:58  #5
Programmation - Apprenti Scrapper
Alias
  • 3 posts

Top !! ça m’a permis de flag :)
N’empêche que je trouve que c’est bizarre comme réponse par rapport à la question.

dimanche 10 mars 2024, 17:36  #6
Programmation - Apprenti Scrapper
F2lt
  • 15 posts

Merci, je bloquais aussi sur le "last child".

J’ai testé un querySelectorAll(':last-child') en js sur une des pages, le résultat est le même (derniers enfants récursivement).
Donc, il faut bien prendre la question au "sens CSS".