code: ceci donne la sortie: p> Comment puis-je compter chaque élément de la liste et imprimer le numéro avant Chaque élément de sorte qu'il ressemblerait à: p>
3 Réponses :
Utilisez Enumérer pour que:
for i, element in enumerate(elements, start=1): #...
Dois-je définir énumérer ou quelque chose? Parce que c'est juste imprimer un "0" à la première ligne.
Enumérer CODE> est intégré à Python intégré, vous n'auriez pas besoin de définition supplémentaire. Est le premier
élément.text code> une chaîne vide peut-être?
ne le pense pas. On dirait qu'il manipule les éléments dans éléments = pilote.find_elements_by_xpath code> comme une chaîne. Je suis un débutant à Python mais dois-je les diviser ou les convertir dans une liste? Actuellement, la sortie met simplement un 0 avant le premier élément.
pilote.find_elements ... code> renvoie une liste, donc vous êtes bon pour
éléments code> étant une liste. Que obtenez-vous si vous faites un
imprimé (len (éléments) code>?
1 . Mais il y a trois éléments sur la page
Cela signifie qu'il n'y a rien de mal avec le pour code> boucle, mais avec la façon dont vous identifiez les éléments
code>, ce qui est vraiment un problème différent de celui de votre message. Je suggérerais de créer une nouvelle question pour cela, ajoutant la source et le code HTML pertinent, de sorte que les choses ne sont pas confrontées.
Il suffit d'avoir un autre regard sur XPath et vos réponses. Êtes-vous sûr que vous utilisez un xpath qui correspond aux trois éléments et non à celui qui correspond à l'élément parent i>? Faire un CTRL + F dans le navigateur de DevTools sur XPath vous montrerait combien d'éléments il correspond.
essayez ceci, espère que cela vous aide! p> p>
Pour ajouter un compteur à partir de 1 fort> à chaque élément de liste Vous pouvez utiliser python ' s bloc de code: p>
Sortie de la console: P>
Enumérer () Code>
fonction comme suit: