0
votes

Comment utiliser SELENIUM pour naviguer sur le site sportif pour la griffonnage Web Player Soccer Player des données?

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>

 Entrez la description de l'image ici p>

J'ai trouvé le bouton" Over / sous "à l'aide du xPath: P >

Code mis à jour pour changer les iframes et cliquez sur le bouton Over / Sous H1>
  Player               Over         Line          Under

Divock Origi          -108          3.5          -120


0 commentaires

3 Réponses :


1
votes

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 ')


2 commentaires

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.



1
votes

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.

Veuillez trouver un lien pour commuter plus de détails: https://chercher.tech/python/iframe-selenium-python

 Entrez la description de l'image ici


1 commentaires

Je vais passer du temps à regarder dans ce @rock. Ty sir =)



1
votes

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


6 commentaires

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.