Je suis nouveau pour coder et essayer d'apprendre à naviguer sur un site Web à l'aide de sélénium. Mon objectif ultime est d'analyser le joueur de football Prop Data accessoires de lecteur afin d'imprimer la sortie. Exceller à l'aide d'un Dataframe Pandas.
Pour accéder à ces informations, je pense que je dois d'abord finir 4 étapes (corrigez-moi si je me trompe): p>
1) Sélectionnez l'onglet "Over / sous" sur la page des accessoires de lecteur
2) Faites défiler jusqu'à "UCL" (Champions League Soccer) P>
3) Sélectionnez l'option "Tout disponible (à tous les jeux)" p>
4) Sélectionner L'onglet "coups (joueur)" p>
J'ai trouvé le bouton" Over / sous "à l'aide du xPath: P >
Player Over Line Under Divock Origi -108 3.5 -120
3 Réponses :
Pouvez-vous poster l'arborescence HTML complet pour voir si votre chemin est correct?
Edit: Regardez-le moi-même. Essayez ceci pour le bouton P>
element = self.driver.find_element_by_css_selector('main div div div div div div div div ul li+li+li a ')
Pour le débogage, je recommanderais d'ajouter plus de sélecteurs étape par étape. Voir où ça va mal.
Ok, Ty @ananaSxpress. Je vais passer plus de temps au cours des prochains jours de travailler à ce sujet.
Veuillez vérifier soigneusement iframe est présent sur votre page, vous devez passer à iframe avant d'effectuer toute action sur un élément Web. P>
Veuillez trouver un lien pour commuter plus de détails: https://chercher.tech/python/iframe-selenium-python P >
Je vais passer du temps à regarder dans ce @rock. Ty sir =)
Voici le code qui affiche des données dans Dataframe code>.
Line Over Player Under
0 3.5 +114 Divock Origi -149
1 1.5 -149 Dusan Tadic +114
2 3 -114 Gabriel Jesus -114
3 2.5 -167 Hakim Ziyech +127
4 2.5 -114 Josip Ilicic -114
5 2.5 +114 Mason Mount -149
6 1.5 -108 Mbwana Samatta -120
7 4.5 -137 Mohamed Salah +106
8 2.5 +110 Papu Gomez -143
9 1.5 +122 Paul Onuachu -159
10 1.5 -149 Quincy Promes +114
11 2.5 -114 Raheem Sterling -114
12 4 +114 Roberto Firmino -149
13 3.5 -149 Sadio Mané +114
14 3.5 +117 Sergio Agüero -152
15 3.5 -120 Tammy Abraham -108
16 2.5 +127 Willian -167
Tellement pour cette réponse ... J'ai essayé ce code et j'ai reçu une erreur (NameError: Nom 'Time' n'est pas définie). J'ai ajouté le module "Heure d'importation" et j'ai reçu une autre erreur (selenium.common.Exception.staleElementeFerenceException: Message: Élément d'état Référence: L'élément n'est pas joint au document de page). J'ai essayé d'exécuter le code plusieurs fois et cela fonctionne une fois. Toute suggestion @kundruk? Merci pour ton aide! =)
J'ai essayé de l'exécuter à nouveau et j'ai reçu un message différent "Selenium.common.Exception.timeoutExtion: Message:". Après avoir répercuté le script immédiatement après avoir fonctionné parfaitement.
On dirait que l'erreur se produit à des moments différents. Je l'ai vu arriver sur la plus grande étape. Il est également arrivé après que le programme choisit UCL. Il est également arrivé après que le programme sélectionne tous disponibles. Je peux envoyer les erreurs pour chacun si cela serait utile.
Faites une chose éventuellement que le script fonctionne plus rapidement, alors utilisez le temps.sleep (2) avant chaque événement de clic.
Cela semblait travailler beaucoup plus en douceur. Cependant, j'ai rencontré une erreur (selenium.common.exceptions.timeoutException: Message :) sur la ligne à l'aide de la variable "PlayleName".
Je n'ai pas motivé la ligne webDriverwait contenant le "joueur" et cela fonctionnait parfaitement! Work incroyable @kunkuk !! Je suis tellement impressionné. Merci beaucoup monsieur pour votre temps et votre travail acharné. =) Je vais en apprendre beaucoup de ceci.