Toutes les collections
FAQ
Comment sélectionner une option spécifique dans une liste déroulante ?
Comment sélectionner une option spécifique dans une liste déroulante ?

Ce tutoriel vous montrera comment sélectionner n'importe quelle option de la liste.

Mis à jour il y a plus d’une semaine

Il arrive assez souvent d'extraire des données d'une liste déroulante. Parfois, vous avez besoin d'obtenir toutes les options de la liste. Parfois, vous n'avez besoin que d'une ou plusieurs options spécifiques. Ce tutoriel vous montrera comment sélectionner n'importe quelle option de la liste.

En bref, écrire le bon XPath est le moyen le plus rapide de localiser la bonne option. Prenons un exemple pour vous montrer comment procéder.

Vous pouvez utiliser ce lien d'exemple pour poursuivre :

Voici une liste déroulante et elle contient beaucoup d'options.

liste déroulante

Pour commencer, passons en revue toutes les options du menu déroulant.

  • Cliquez sur le menu déroulant et choisissez "Loop through the options in the dropdown menu"

Le XPath par défaut de l'élément de la boucle est

//form[@class="buybox--form"]/div[1]/div[1]/div[1]/select[1]/OPTION

Comme vous pouvez le voir, il y a 299 éléments dans la liste déroulante.

Pour répondre à nos besoins, nous devons modifier le XPath de l'élément de la boucle.

1. Choisir une option spécifique par son index


Par exemple, si nous voulons sélectionner la 5ème option qui est "Ananas 12mg", le XPath correct devrait être :

//form[@class="buybox--form"]/div[1]/div[1]/div[1]/select[1]/OPTION[5]

Il suffit d'ajouter [X] à la fin du XPath pour choisir l'option souhaitée. Si vous remplacez le XPath par défaut par le nouveau, vous verrez apparaître la 5ème option.

xpath

2. Choisir une option spécifique par son texte


Si nous voulons sélectionner toutes les options contenant "Banana", le XPath correct devrait être le suivant :

//form[@class="buybox--form"]/div[1]/div[1]/div[1]/select[1]/OPTION[contains(text(),'Banana')]

L'utilisation du syndex "contains" peut vous aider à sélectionner l'option qui contient un texte spécifique.

3. Choisir une option spécifique par sa position


Si nous voulons sélectionner toutes les options sauf la 1ère, le XPath correct devrait être :

//form[@class="buybox--form"]/div[1]/div[1]/div[1]/select[1]/OPTION[position()>1]

Nous pourrions utiliser ">", "=", "<" après "position()" pour localiser les options dont vous avez besoin.

Si nous voulons sélectionner uniquement la dernière option, le bon XPath est :

//form[@class="buybox--form"]/div[1]/div[1]/div[1]/select[1]/OPTION[last()]

Conseil :

Si vous voulez vérifier si le XPath que vous avez modifié fonctionne bien ou non dans Octoparse, vous devez d'abord cliquer sur Apply pour enregistrer, cliquer sur une autre action dans le flux de travail, puis cliquer à nouveau sur Loop Item.

Avez-vous trouvé la réponse à votre question ?