-1
votes

Comment obtenir l'élément suivant d'une classe spécifique au sélénium à l'aide de Python

Je suis un débutant complet au sélénium. J'aimerais savoir, par exemple, lors du chargement de la page Reddit, comment obtenir tous les titres des messages Reddit sur cette page. Je connais l'en-tête HTML pour ceux-ci est H2, et je sais comment obtenir le premier en-tête du site Reddit. Cependant, comment êtes-vous basculer vers l'élément suivant de la même classe afin de l'attraper? J'utilise Python et sélénium. Merci!


5 commentaires

Avez-vous un code que vous avez essayé de faire vous-même?


S'il vous plaît soyez descriptif sur votre question. Donc, quelqu'un pourrait vous aider.


Bienvenue dans le débordement de la pile! Voir: Comment faire Je fais x? L'attente sur le débordement de la pile est que l'utilisateur posant une question non seulement la recherche de répondre à sa propre question, mais partage également la recherche, les tentatives de codes et les résultats. Cela démontre que vous avez pris le temps d'essayer de vous aider, cela nous évite de réitérer des réponses évidentes, et surtout, il vous aide à obtenir une réponse plus spécifique et plus pertinente! Voir aussi: Comment demander


oh ok, désolé. Je ne savais pas, j'ai créé mon compte hier


Comment puis-je marquer ma question comme résolue?


4 Réponses :


0
votes

Vous voulez d'abord obtenir tous les éléments de votre classe (mettre à jour MyClass à la classe souhaitée):

driver.find_elements_by_class_name("myClass")


2 commentaires

Merci pour votre commentaire. Cependant, chaque fois que j'ai dirigé le script Python, Google Chrome clignoterait et minimiserait automatiquement. Maintenant, tout à coup, exécuter le script ouvre une nouvelle fenêtre pour moi, que je dois minimiser manuellement. Existe-t-il un moyen de revenir à ce que je l'ai fait pour que l'ouverture d'un lien dans Chrome minimise automatiquement la nouvelle méthode? (Pas de pilote.minimiser ou --Headless) merci.


Cela ressemble à un problème différent de votre problème d'origine. Je vous suggère de commencer une autre question sur la pile débordement et d'ajouter votre code à la question afin que nous puissions comprendre et résoudre le problème que vous rencontrez.



-1
votes

Si vous avez besoin d'un exemple simple sur la façon d'itération à travers les éléments du corps, n'hésitez pas à consulter mon mini projet à https://github.com/kerwei/limase_scraper/blob/master/lima_scrape.py

Lignes 113 - 114 vous intéresserait probablement. < / P>

Comme indiqué dans la réponse précédente: xxx

Vous obtient tous les éléments cibles. Veuillez faire attention au (s) dans l'élément s . Par la suite, il vous suffit de faire boucler les itérables retournés par la méthode.


0 commentaires

0
votes

Pour redditer spécifiquement, pour obtenir une liste de tous les titres de la page, utilisez pilote.find_elements_by_csss_selector (". iMors3-0.euspgb") Pour obtenir un tableau de tous les titres du page.


1 commentaires

imors3-0 et EUSPGB sont des classes générées dynamiquement. Vous devriez essayer de les éviter.



0
votes

La question est conforblement formulée, mais je pense que vous voulez simplement itérer à travers tous les éléments de la page avec une balise H2 code>.

Par exemple: P>

elements = driver.find_elements_by_tag_name('h2')
for element in elements:
    print(element.text)


0 commentaires