IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

selenium : récupération de tableau [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut selenium : récupération de tableau
    Bonjour,
    Je voudrais automatiser une recherche pour mes besoins personnels.
    Pour l'instant, j'arrive avec Selenium, à afficher la page qui m'intéresse.
    Sur cette page, je voudrais récupérer certains éléments d'un tableau.
    Voici un extrait du code source de la page :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <div id="pagination" align="center">
    	<table border="0" class="pagination">
    		<tr>
    			<td>
     
    				<strong><img src="image/table/prevPageDisabled.gif" alt="Prec" border="0"/></strong>
     
    			</td>
     
    			<td align="center" width="100%" class="selected" onClick="javascript:location='candidatures.recherche?ACTION=0&amp;page=1'">
     
    				<strong>1</strong>
     
    			</td>
     
     
    			<td><strong><img src="image/table/nextPageDisabled.gif" alt="Suiv" border="0"/></strong></td>
     
    		</tr>
    	</table>
    	<br/>
    </div>
    <form name="frmListe" action="candidatures.recherche?ACTION=1" method="post">
    <table border="0" width="100%" class="tableau_resultats">
     
    	<tr>
    		<th width="6%" align="left"><a href="candidatures.recherche?ACTION=4&amp;colonne=g_cn_cod&amp;tri=Asc"></a>&nbsp;</th>
    		<th width="18%" align="left"><a href="candidatures.recherche?ACTION=4&amp;colonne=g_cn_nom&amp;tri=Asc">Nom</a>&nbsp;</th>
    		<th width="5%" align="left"><a href="candidatures.recherche?ACTION=4&amp;colonne=g_ea_cod_ori&amp;tri=Asc">UAI</a>&nbsp;</th>
    		<th width="25%" align="left" ><a href="candidatures.recherche?ACTION=4&amp;colonne=g_ea_lib_ori&amp;tri=Asc">Etablissement</a>&nbsp;</th>
    		<th width="25%"><a href="candidatures.recherche?ACTION=4&amp;colonne=g_fl_lib_ins&amp;tri=Asc">Formation</a>&nbsp;</th>
    		<th width="3%"><a href="candidatures.recherche?ACTION=4&amp;colonne=i_is_flc_dos&amp;tri=Asc">Papier(s)</a>&nbsp;</th>
    		<th width="3%"><a href="candidatures.recherche?ACTION=4&amp;colonne=i_is_val&amp;tri=Asc">Confirmée</a>&nbsp;</th>
    		<th width="6%"><a href="candidatures.recherche?ACTION=4&amp;colonne=i_ep_cod&amp;tri=Asc">Suivi</a>&nbsp;</th>
    		<th width="3%">Procédure</th>
    	</tr>
     
    	<tr class="alt"  onClick="javascript:afficherDossier(193920, '&cx_g_ti_cod=6450', null)">
    		<td align="center"><strong>193920</strong></td>
    		<td>COCO Albin</td>
    		<td>0022B</td>
    		<td>Lycée Truc - Trifouillis-les-oies</td>
    		<td>Demande
     
    		</td>
    		<td align="center">Non</td>
    		<td align="center">
     
    			<img src="image/ok.png" alt="Validée" />
     
    		</td>
    		<td>
     
    			Dossier électronique
     
    		</td>
    		<td  align="center">
     
    				PN
     
     
    		</td>
    	</tr>
    Comme je le disais, cette page est un tableau et je voudrais y récupérer les infos suivantes : "COCO Albin" et "Validée".
    Je cherche sans succès depuis une heure. Un peu d'aide, SVP ?

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    je termine mon code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tableau = Select(driver.find_element_by_class_name('tableau_resultats'))
    for el in tableau:
        print(el.text)
    mais j'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UnexpectedTagNameException: Select only works on <select> elements, not on <table>

  3. #3
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut marco.

    Je ne connais pas du tout selenium et aucune idée de ce que fait Select.
    Si tu as besoin de récupérer que 2 valeurs spécifiques, ce ne serait pas plus simple d'utiliser des xpaths ?

    Un truc comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nom = driver.find_element_by_xpath('//table[@class="tableau_resultats"][1]/tr[@class="alt"][1]/td[2]').text
    statut = driver.find_element_by_xpath('//table[@class="tableau_resultats"][1]/tr[@class="alt"][1]/td[7]').get_attribute('alt')
    Je ne pense pas que les chemins soient exacts dans ce que j'ai mis, mais ça devrait pas en être loin.

  4. #4
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Ok, je vais me plonger là-dedans : je ne connais pas les "by_xpath" mais je vais me plonger dans la doc.
    Merci.

  5. #5
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Merci pour la piste. Au cas où cela intéresserait qqn, voici la solution que j'ai trouvée après pas mal d'essais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    driver.find_elements_by_xpath(("//table[@class='tableau_resultats']/tbody/tr"))

  6. #6
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Je reviens vers vous car j'ai tout récupéré sauf la validation. Ce n'est pas du text, c'est une image et du coup je coince.
    J'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    src = driver.find_element_by_xpath("//table[@class='tableau_resultats']/tbody/tr/td[7]").get_attribute('alt')
    qui me renvoie "None".
    Je continue de chercher mais je sèche un peu...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Récupération de tableau excel
    Par vegastar dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/04/2012, 15h10
  2. [SOAP] [PHP] Récupération de tableau
    Par jgalbois dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 27/12/2010, 12h37
  3. Récupération données tableau PHP/HTML
    Par mooky_64 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 15/05/2010, 14h29
  4. [VBA-E] récupération selection tableau dans variable
    Par garsdu51 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/02/2007, 08h04
  5. Problème de récupération de tableau dans hash DBM
    Par siaoly dans le forum Langage
    Réponses: 1
    Dernier message: 01/05/2006, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo