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 :

Authentification sur un site web [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Janvier 2016
    Messages : 190
    Par défaut Authentification sur un site web
    Bonjour,

    Je souhaiterais via un fichier excel m'authentifier sur la page suivante : https://wwws.linxo.com/auth.page#Login
    Je précise que je suis ultra débutante...

    J'ai grâce au forum, pondu ceci :

    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
    Sub PremierIE()
     
        'Déclaration des variables
        Dim IE As Object
        Dim IEdoc As Object
        Dim DOCelement As Object
     
        'Initialisation des variables
        Set IE = CreateObject("InternetExplorer.Application")
     
        'Affichage de la fenêtre IE
        IE.Visible = True
     
        'Chargement de la page web
        IE.Navigate ("https://wwws.linxo.com/auth.page#Login")
     
        ' attente de fin de chargement
        Do Until IE.ReadyState = 4
            DoEvents
        Loop
     
        'On pointe le membre Document
        Set IEdoc = IE.document
     
       'login
        Set DOCelement = IEdoc.getElementsByName("username").Item
        DOCelement.Value = "Monlogin"
     
        'password
        Set DOCelement = IEdoc.getElementsByName("password").Item
        DOCelement.Value = "Monmotdepasse"
        DOCelement.Select
     
        'connexion
        Set DOCelement = IEdoc.Forms(0)
        DOCelement.submit
     
        'On libère la variable IE
        Set IE = Nothing
     
     
    End Sub

    La page de Linxo s'affiche correctement mais les champs ne se remplissent pas et le déboggueur se lance en s'arrêtant sur DOCelement.Value = "Monlogin"
    Une âme charitable pourrait-elle éclairer ma lanterne ?


    Un grand merci d'avance.

    Delphine

  2. #2
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    Bonjour,

    Penses à mettre ton code entre
    A première vue le "button" n'est pas une "form"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DOCelement = IEdoc.Forms(0)
    Tu peux aller le chercher comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DOCelement = IEdoc.getElementsbyTagName("button")
    Mais le méthode "submit" ne fonctionne pas

    Pour info si tu fais évolué ton code en mode pas à pas (F8) il renseigne bien ton login et password, mais pas en le lançant directement, il y a surement une histoire de tempo???

    JE n'ai pas complètement regardé tout

    Mais voilà
    seb

  3. #3
    Membre confirmé
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Janvier 2016
    Messages : 190
    Par défaut
    Bonjour,

    Merci pour ce retour.

    Effectivement en mettant un tempo de 2 secondes, les champs se remplissent correctement.

    En revanche et comme tu le soulignais la validation ne se fait pas.

    Je suis désolée mais je n'ai pas saisi ce qu'il faut que je change dans le code concernant le "Tagname". Comme je le mentionnais, je débute tout juste...

    Voici donc le code modifié :

    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
    Sub PremierIE()
     
        'Déclaration des variables
        Dim IE As Object
        Dim IEdoc As Object
        Dim DOCelement As Object
     
        'Initialisation des variables
        Set IE = CreateObject("InternetExplorer.Application")
     
        'Affichage de la fenêtre IE
        IE.Visible = True
     
         'Chargement de la page web
        IE.Navigate ("https://wwws.linxo.com/auth.page#Login")
     
        ' attente de fin de chargement
        Do Until IE.ReadyState = 4
            DoEvents
        Loop
     
        'On pointe le membre Document
        Set IEdoc = IE.document
     
        'Tempo de 2 secondes
        Application.Wait Now + TimeValue("0:00:02")
     
       'login
        Set DOCelement = IEdoc.getElementsByName("username").Item
        DOCelement.Value = "Monlogin"
     
        'Tempo de 2 secondes
        Application.Wait Now + TimeValue("0:00:02")
     
        'password
        Set DOCelement = IEdoc.getElementsByName("password").Item
        DOCelement.Value = "Monmotdepasse"
        DOCelement.Select
     
        'connexion
        Set DOCelement = IEdoc.Forms(0)
        DOCelement.submit
     
        'On libère la variable IE
        Set IE = Nothing
     
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    re,

    Ce qui je voulais dire, c'est que ton bouton "Je me connecte" n'est pas dans un "Form" quand tu joues avec l'espion tu pourras t'en apercevoir (nothing)...
    mais il est dans un balise < button/>

    Voir image:
    Nom : Capture.PNG
Affichages : 677
Taille : 17,3 Ko

    Pour aller chercher la balise <button/>
    tu remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DOCelement = IEdoc.Forms(0)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DOCelement = IEdoc.getElementsbyTagName("button")
    et comme cela tu pointes directement sur le bouton

    il y a bien un type="submit" comme dans ton code, mais la validation ne se fait pas...je regarde de mon côté, mais essais tu tiens c comme cela que j'ai appris

    ne pas oublier , quand une réponse est pertinente

    seb

  5. #5
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    Bon essaie avec ça,
    comme je n'ai pas le bon mot de passe ni le login----> il me renvoit "login et mot de passe incorrecte" évidemment.

    Redit 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
    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
    Sub PremierIE()
     
        'Déclaration des variables
        Dim IE As Object
        Dim IEdoc As Object
        Dim DOCelement As Object
     
        'Initialisation des variables
        Set IE = CreateObject("InternetExplorer.Application")
     
        'Affichage de la fenêtre IE
        IE.Visible = True
     
         'Chargement de la page web
        IE.Navigate ("https://wwws.linxo.com/auth.page#Login")
     
        ' attente de fin de chargement
        Do Until IE.ReadyState = 4
            DoEvents
        Loop
     
        'On pointe le membre Document
        Set IEdoc = IE.document
     
        'Tempo de 2 secondes
        Application.Wait Now + TimeValue("0:00:02")
     
       'login
        Set DOCelement = IEdoc.getElementsByName("username").Item
        DOCelement.Value = "Monlogin"
     
        'Tempo de 2 secondes
        Application.Wait Now + TimeValue("0:00:02")
     
        'password
        Set DOCelement = IEdoc.getElementsByName("password").Item
        DOCelement.Value = "Monmotdepasse"
        DOCelement.Select
     'Tempo de 2 secondes
        Application.Wait Now + TimeValue("0:00:02")
        'connexion
        Set DOCelement = IEdoc.getelementsbytagname("button")(0) 'Forms(0)
           DOCelement.Click
     
        'On libère la variable IE
        Set IE = Nothing
     
    End Sub

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Si le bouton sumith est dans une forme , c'est au niveau de form.sumith qu'il doit effectuer. La méthode onclick appel du javascript est dans ce cas c'est le sub du javascript qu'il faut appeler!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set IEdoc = IE.document
    IEdoc.form.login.value="toto"
    IEdoc.form.password="titi"
    IEdoc.form.sumith
    Dernière modification par Invité ; 23/01/2016 à 14h52.

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

Discussions similaires

  1. [web] authentification sur un site via VBA
    Par cafeine dans le forum Contribuez
    Réponses: 0
    Dernier message: 18/04/2008, 16h47
  2. [Cookies] Langue par défaut sur un site web
    Par Jet-Li dans le forum Langage
    Réponses: 3
    Dernier message: 09/12/2005, 20h52
  3. modification de l'apparence de la souris sur un site web
    Par maffoyon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/12/2005, 19h05
  4. faire un don sur un site web
    Par star_light dans le forum E-Commerce
    Réponses: 2
    Dernier message: 23/08/2005, 16h11
  5. Réponses: 2
    Dernier message: 08/11/2003, 23h42

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