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

Macros et VBA Excel Discussion :

Sélection erronée d’un élément html lors de la validation d’un logging


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut Sélection erronée d’un élément html lors de la validation d’un logging
    Bonjour à tous,

    Grâce à jurassic pork J’ai pu terminer une application du même type.


    Ici sur le site « Nuoma », je bute pour la validation du login et du mot de passe

    1_ Avec l’identifiant & le mot de passe valides les résultats sont variables suivant les écritures
    Pour la commande « ENTRER » : de validation, au lieu d'aller à la page Adhérant :
    - Va à la fenêtre "Mot de passe oublié Va à la page MMEI Ou encore rien ne se passe

    2_ Aussi ici, avec l’identifiant ou le mot de passe invalide la fenêtre "Identifiants invalides" ne s'ouvre pas

    Remarque "connexionAccount" est défini 2 fois «id=» & " form=» ?

    Environnement : INTERNET _ Win 11 _ Excel _Vba _ SELENIUM _ CHROME Béta _ HTML


    Pièce jointe 616233

    Code : 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
    Option Explicit
    Dim ROBOT As New WebDriver, User
    Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
    '==============================================================================================================
     Public Function ConnectWeb() As Boolean
       ConnectWeb = IIf(InternetGetConnectedState(0&, 0&) = 1, True, False)
     End Function
     
     
    Sub Connecter_NUOMA()
    If ConnectWeb = False Then MsgBox "PAS DE CONNEXION INTERNET"
    '===============================================
    '(0)  CONNEXION à INTERNET
     ROBOT.Timeouts.ImplicitWait = 2000
     ROBOT.Start "Chrome", "https://www.nuoma-mutuelle.fr": ROBOT.Window.SetSize 400, 700: ROBOT.Wait 1000
    '===============================================
    '(1) CONNEXION à PAGE ACCUEUIL===>   NUOMA
                ROBOT.Get "/login":    ROBOT.Wait 500
     
     Set User = ROBOT.FindElementByName("email"):           User.Clear: User.SendKeys "ABCDEF"  ' Login
     Set User = ROBOT.FindElementByName("password"):    User.Clear: User.SendKeys "123456"     'MdeP"
     
    '(2) @@@@@@@  Panneau ACCEPTER 1  @@@@@@@
             If ROBOT.FindElementById("onetrust-accept-btn-handler").IsDisplayed = True Then
                ROBOT.FindElementById("onetrust-accept-btn-handler").Click:        ROBOT.Wait 500
       End If
     
    '(3) @@@@@@ VALIDER LOGIN & MdeP
             If ROBOT.FindElementById("connexionAccount").IsDisplayed = True Then
     
                          Stop             ' ERREUR SUIT
                ROBOT.FindElementById("connexionAccount").Click:                    ROBOT.Wait 500
     
             End If
                  Stop
    '(4) @@@@@@@  Panneau ACCEPTER 2  @@@@@@@
             If ROBOT.FindElementById("onetrust-accept-btn-handler").IsDisplayed = True Then
                ROBOT.FindElementById("onetrust-accept-btn-handler").Click:         ROBOT.Wait 500
             End If
    End Sub
    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
    <section id="sliderConnexion">
     <div class="wrapperSliderConnexion">
     <div id="connexion1" class="slideConnexion">
     <div id="containerConnexionForm">
     <div class="connexionForm" style="top: 40%">
    <h1 class="titleSection">Connectez-vous</h1>
     
     <form method="post" name="login" id="connexionAccount">
     
    <div class="itemForm">
    <label for="email">Identifiant</label>
     <div class="icon icon-info orange">
    <div class="infobulle">
     
    <p>- Email ou les 7 derniers chiffres/lettres de votre numéro de contrat</p>
     </div>
     </div>
    <input type="text" name="email" id="email" class="grey" placeholder="Email ou les 7 derniers chiffres/lettres de votre numéro de contrat" value="" autofocus="">
    </div>
    <div class="itemForm">
    <label for="password">Mot de passe</label>
    <input type="password" name="password" id="password" class="grey form-password" placeholder="Mot de passe">
     <span data-toggle="#password" class="fa fa-fw fa-eye field-icon toggle-password"></span>
     </div>
    <input type="hidden" name="_csrf_token" value="3zVPzY_nQ-gocJbHl4DAZoraPg86Qs3P_NwZy-qJUfw">
     
     <a href="/mot-de-passe-oublie" title="Mot de passe oublié">Mot de passe oublié ?</a><br>
     
     <input style="border: none; font-weight: bold; text-decoration: underline; background: none; color: #1C2258" type="submit" form="connexionAccountMmei" id="loginMmei" value="Vous êtes un adhérent ex-MMEI ? Cliquez ici ">
     
     <br><div class="itemForm center">
            <div class="wrapperSubmit">
            <div class="button submitBtn">
     
          <input type="submit" form="connexionAccount" value="Entrer">
     
        <span class="icon icon-arrow white"></span>
     </div>  </div>  </div>
     <div class="row">
     <div class="col-md-12 text-center"><br>
     <button type="button" data-toggle="modal" data-target="#cantConnect" class="buttonLoginContact">Je n’arrive pas à me connecter</button>
    <br><br><br> 
     </div>

    Dans l’attente d’une solution, merci , cordialement à tous

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 236
    Par défaut
    Hello,
    1 - ton adresse de login ne fonctionne pas chez moi --> Alors j'utilise loginIn au lieu de Login
    2 - Je n'ai pas la même chose que toi pour le code HTML (j'utilise Plus d'outils/Outils de développement dans chrome)
    3 - Le ImplicitWait me semble un peu léger je l'ai remis à 8 secondes. Ne pas oublier que c'est une sorte de Timeout.
    4 - Pas besoin de gérer Accepter les cookies si on a défini un profil pour Chrome. Il Suffit d'accepter une seule fois et alors les cookies sont enregistrés dans le profil. Pour définir un profil il faut indiquer son répertoire par le paramètre --user-data-dir.
    Voici un code qui fonctionne chez moi :
    Code : 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
    Sub Connecter_NUOMA()
    If ConnectWeb = False Then MsgBox "PAS DE CONNEXION INTERNET"
    '===============================================
    '(0)  CONNEXION à INTERNET
     ROBOT.Timeouts.ImplicitWait = 8000
     ROBOT.AddArgument "--user-data-dir=d:\temp\selenium"
     ROBOT.AddArgument "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
     
     ROBOT.Start "Chrome", "https://www.nuoma-mutuelle.fr": ROBOT.Window.SetSize 400, 700
    '===============================================
    '(1) CONNEXION à PAGE ACCUEIL===>   NUOMA
     ROBOT.Get "/loginIn"
     
     Set User = ROBOT.FindElementByName("email"):           User.Clear: User.SendKeys "ABCDEF"  ' Login
     Set User = ROBOT.FindElementByName("password"):    User.Clear: User.SendKeys "123456"     'MdeP"
     ROBOT.FindElementByXPath("//input[@form='connexionAccount']").Click
     
     
    End Sub
    J'ai bien un message qui me dit que l'identifiant n'est pas valide.

    Ami calmant, J.P

  3. #3
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut
    Bonjour Jurassic,

    Au sec..... , merci de te pencher aussi vite sur mon nouveau pb.

    Avant de te répondre, j'ai essayé un peu n'importe quoi sans résultat :
    ' ROBOT.AddArgument "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.56 Safari/537.36"
    ' ROBOT.AddArgument "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36"
    ' ROBOT.AddArgument "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"

    Néanmoins une fois, sans raison apparente, je me suis connecté au site avec les bons identifiants.

    Depuis un problème est survenu, je rentre directement dans mon profil réel à la commande ROBOT.Get "/loginIn",
    avant les set user, ce qui ne permet pas d'utiliser un autre identifiant.

    J'ai besoin de mettre un peu d'ordre dans le choix de mes versions

    Pièce jointe 616258


    Merci pour la suite. D.R.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 236
    Par défaut
    Hello,
    Citation Envoyé par clubleo Voir le message
    Néanmoins une fois, sans raison apparente, je me suis connecté au site avec les bons identifiants.
    Depuis un problème est survenu, je rentre directement dans mon profil réel à la commande ROBOT.Get "/loginIn",
    avant les set user, ce qui ne permet pas d'utiliser un autre identifiant.
    Je pense que ton site mémorise le login dans un cookie. Alors soit il faut l'effacer (ça je ne sais pas faire mais certainement faisable avec selenium) ou soit il faut se déloguer avant de tenter une nouvelle identification.
    A Essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ROBOT.Get "/loginIn" 
    ROBOT.Get "/logout"
    ROBOT.Get "/loginIn"
    Essayer de mettre une temporisation entre chaque commande si cela ne fonctionne pas.

    Ami calmant, J.P

  5. #5
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut
    =====================================================================================================================================================
    Cher Jurassic, bonjour.

    Tout d’abord, bravo pour cette rapide et simple solution (Login Logout Login) qui fonctionne parfaitement.

    Contrairement à mes 2 applications précédentes identiques, je n’arrive pas à gérer des éléments qui sont contenus dans la liste qui suit.

    ======================================================================================================
    Afin de pouvoir continuer, dans la mesure du possible, pourrais-tu juste dans un premier temps, m’aider à faire une boucle de la forme :
    Par avance, merci.
    D.R. clubleo
    =======================================================================================================

    Code : 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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    
    _           BOUTON années      (au cas où l'accès direct aux éléments qui suivent sera impossible )
    _           BOUTON mois                                   ( idem )                                  
     For each    xxx In  yyy 
     _       Msgbox  " Bénéficiaire : " &  BBBB
     _       Msgbox  " Références :   " &  RRRR
     _       Msgbox  " Destinataire : " & DDDD
     _       Msgbox   "Montant remboursé : " &    MMMM
     _          BOUTON  TÉLÉCHARCHEMENT Fichier
      Next
    
    =======================================================================================================
    ▼<div class=”flexContent"> 
     ▼ <article class="refund-accordion first itemQuestion arrowOpen open" style="height: 1963px;”>
    [1] BOUTON Années CLICK Affiche les mois concernés
        ▼<div class="question closed''>
          ▼<div class="flex-row fl-al-center f1-jc-between">
                <p class=”text-bold clr-deep-blue"> 2022</p>
                <i class=”arrowOpenLink open"></i>
                </div>
         </div>
       ▼<div class="answer">
          ▼<div class="contentOpened">
    
    [2] BOUTON Mois  CLICK Afficher les jours des relevés du mois 
             ▼<article class="refund-accordion itemQuestion arrowOpen open" style="height: 560px;">
                ▼ <div class="question closed">
                      ▼ <div class="flex-row fl-al-center f 1-jc-between">
                            <p class="text-bold clr-deep-blue"> 20 Mars 2022</p>
                          <i class="arrowOpenLink open"></i>
                         </div>
                       </div>
            ▼ <div class="answer opened">
               ▼ <div class="contentOpened">
                  ▼ <table class="onMobile refund-table">
                      ▼ <tbody>
                              ::before
                          ▼ <tr>
                               ▼ <td style="overflow-wrap: anywhere; padding: 10px; text-align: left">
                                  <br>
                                   ▼ b<button type="button" onclick="changeContenuDecompte('UMDIyLTE3NjUXC')" style="color: black; font-weight: bold; background: none; border: none">
                                            <img class="icon" style="width: 24px; height: 24px; position: relative !important;" src="./Espace adhérent - Nuoma_files/pharmacy-1.svg" alt="pharmacy">
    
    [3] Juste récuperer les références et date du fichier PDF à télécharger   
                                           " &nbsp; PB654123789pbC#28/03/2022-17751-01-01>
                                      </button>
                                 <br>
                                 <br>
    [4] Récupérer les référence du bénéficiaire
                                  " Bénéficiaire : DURAND ROSE"
                                  <br>
    [5] Récupérer les référence du destinataire
                                  " Destinataire : DURAND JEAN"
                                  <br>
                                  <br>
                               ▼ <b>
    [6] Récupérer les montants
                                    "Montant remboursé : 9.5 €
                                  <br>
                                  </b>
                                  <br>
    [7] BOUTON CLICK  Téléchargement PDF
                                 ▼ <form action="https://adhèrent.nuoma-mutuelle.fr/refund/export-pdf-decompte" method="post" 
                                       target="_blank">
    <input type="hidden" name="decompte" value="P99949787C#28/03/2022-17788-01-01">
                                  ▼ <button type="submit" style="background: none; border: none">-
                                      <img src="./Espace adhérent - Nuoma_files/mdi_cloud_download.svg">
                                       "Télécharger"
                                     </button>
                                   </form>
                                 </td>
                               </tr>
                           ► <tr>…</tr>
                          </tbody>
                       </table>
                     ► <table class="noMobile refund-table">…</table>
                   </div>
                </div>
           </article>
    D.R. clubleo

  6. #6
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par clubleo Voir le message
    =====================================================================================================================================================
    Cher Jurassic, bonjour.

    Bravo pour cette rapide et simple solution (Login Logout Login) qui fonctionne parfaitement.


    D.R. clubleo

Discussions similaires

  1. pb dans un drag and drop lors de sélection d'un élément a bouger
    Par WalidNat dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/10/2006, 12h56
  2. [VBA] sélection d'un élément dans une liste
    Par menguygw dans le forum Access
    Réponses: 3
    Dernier message: 26/04/2006, 12h18
  3. Sélection d'un élément dans une combobox
    Par cluis dans le forum IHM
    Réponses: 2
    Dernier message: 17/03/2006, 14h23
  4. Définir un élément HTML au dessus d'un autre
    Par genova dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/12/2005, 19h55
  5. Sélection de plusieurs éléments
    Par ti-ben dans le forum Langage
    Réponses: 8
    Dernier message: 04/09/2005, 11h54

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