Partage
  • Partager sur Facebook
  • Partager sur Twitter

Définir un profile sous Edge via SeleniumBasic

    6 juillet 2022 à 10:04:05

    Bonjour,

    Je travaille sur un projet de migration de IE vers Edge via SeleniumBasic 2.9.0 en VBA Access.

    Pour une raison quelconque, je veux définir mon profil par défaut dans Edge en utilisant Selenium dans VBA, j'ai essayé avec .SetProfile et .AddArgument mais il continue de générer un profil temporaire.

    Quelqu'un peut-il m'aider s'il vous plait?

    D'avance merci

    • Partager sur Facebook
    • Partager sur Twitter
      6 juillet 2022 à 15:20:51

      Est-ce que tu as déjà essayé les indications de ce SO https://stackoverflow.com/questions/62242103/how-to-open-ms-edge-with-specific-profile-with-selenium-webdriver (c'est du java mais ça doit pouvoir être transposé en vba)

      ou celui-ci https://stackoverflow.com/questions/60703049/selenium-edge-how-to-start-a-webdriver-session-with-work-profile 

      -
      Edité par umfred 6 juillet 2022 à 15:23:21

      • Partager sur Facebook
      • Partager sur Twitter
        11 juillet 2022 à 11:20:19

        Bonjour,

        Merci, J'ai essayé de regarder et appliquer en VBA mais cela ne passe pas. J'ai toujours le lancement d'un nouveau profile au lieu de poursuivre sur le profile manuellement lancé en amant.

        Voici mon code:

        Set Wdriver = New Selenium.EdgeDriver
        With Wdriver
        	.SetCapability "ms:edgeOptions", "{""excludeSwitches"":[""enable-automation""],""args"":[""--start-maximized""]}" 
        	.AddArgument ("user-data-dir=C:\\Users\\BantuJazz\\AppData\\Local\\Microsoft\\Edge\\User Data")
        	.SetBinary ("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe")
        	.Get "https://www.google.com"
        End With

        Encore merci



        -
        Edité par BantuJazz 11 juillet 2022 à 11:31:29

        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2022 à 11:50:39

          tu as oublié d'indiquer le profil que tu veux utiliser après la ligne 4:

              .addArguments("profile-directory=[nom du profil]");



          • Partager sur Facebook
          • Partager sur Twitter
            11 juillet 2022 à 15:37:03

            Je viens de préciser, mais au lieu du Profile il initie un nouveau profile Profile 2.

            Et normalement il devrait plus demander le Login/Password.

            With Wdriver
            
                '.SetBinary ("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe")
            
                .SetCapability "ms:edgeOptions", "{""excludeSwitches"":[""enable-automation""],""args"":[""--start-maximized"",""user-data-dir=C:\\Users\\" & Environ("USERNAME") & "\\AppData\\Local\\Microsoft\\Edge\\User Data\\Profile 1""],""prefs"":[""profile-directory=Profile 1""]}"
            
                '.AddArgument ("user-data-dir=C:\\Users\\" & Environ("USERNAME") & "\\AppData\\Local\\Microsoft\\Edge\\User Data")
            
                .AddArgument ("profile-directory=Profile 1")
            
                .Get URL1, 10000, True '"https://www.google.com"
            
               End With

            Encore merci,

            • Partager sur Facebook
            • Partager sur Twitter
              11 juillet 2022 à 15:54:00

              tu es sûr que le nom affiché dans edge ne correspond pas au dossier profile 1 ? 

              Par exemple, je viens de créer un nouveau profil sur edge (je n'en avais pas), il m'affiche en nom sous edge "profil 2" mais a créé un dossier Profile 1 dans le répertoire User Data

              • Partager sur Facebook
              • Partager sur Twitter
                11 juillet 2022 à 17:32:48

                Le nom affiché dans Edge est bien "Profile 1" quand je lance le navigateur manuellement. Par contre, quand je lance le navigateur via Selenium il m'affiche Profile 1 un moment puis bascule en Profile 2, profile que je n'ai pas créé.

                Au niveau du repertoire je vois deux dossiers "Profile 1":

                Ci-dessous:

                C:\Users\BantuJazz\AppData\Local\Microsoft\Edge\User Data\Profile 1\Profile 1

                Est-ce normal?

                • Partager sur Facebook
                • Partager sur Twitter
                  11 juillet 2022 à 17:40:33

                  normal en fait, tu lui as indiqué que le répertoire des user-data est dans user data\Profile 1 dans ton dernier code

                  ""user-data-dir=C:\\Users\\" & Environ("USERNAME") & "\\AppData\\Local\\Microsoft\\Edge\\User Data\\Profile 1""



                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 juillet 2022 à 10:27:05

                    Bonjour,

                    Je viens de modifier mon code. Ma page est initié avec le bon profile "Profile 1" mais le lien de ne lance pas. J'ai ce message.

                    Selenium Error: User data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir

                    With Wdriver
                        .SetCapability "ms:edgeOptions", "{""excludeSwitches"":[""enable-automation""],""args"":[""--start-maximized"",""--user-data-dir=C:\\Users\\" & Environ("USERNAME") & "\\AppData\\Local\\Microsoft\\Edge\\User Data"",""--profile-directory=Profile 1""]}"
                        .Get URL1 ', 10000, True '"https://www.google.com"
                    End With


                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 juillet 2022 à 19:54:11

                      @BantuJazz Bonsoir, je viens de retirer des spams votre dernier message, si cela arrive encore vous pouvez poster dans ce sujet Si votre message est considéré comme spam

                      • Partager sur Facebook
                      • Partager sur Twitter
                        13 juillet 2022 à 10:08:05

                        comme dit le message, essaie de retirer le paramètre --user-data-dir

                        With Wdriver
                            .SetCapability "ms:edgeOptions", "{""excludeSwitches"":[""enable-automation""],""args"":[""--start-maximized"",""--profile-directory=Profile 1""]}"
                            .Get URL1 ', 10000, True '"https://www.google.com"
                        End With


                        Edit: il semblerait aussi que cette erreur se produise si tu as le navigateur déjà ouvert (processus edge et/ou edgedriver présents dans la liste des processus du gestionnaire des tâches)

                        -
                        Edité par umfred 13 juillet 2022 à 10:37:04

                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 juillet 2022 à 13:33:27

                          Effectivement, à la base, je me connecte à l'application avec mon user/login (sans passé par selenium). Puis je lance une connexion à selenium à l'application en utilisant le même profile sans passé par la page de connexion.

                          Mais j'ai aussi de retirer le paramètre --user-data-dir, par contre quand je le retire, à l'execution j'ai une nouvelle session avec un nouveau profile.

                          Voilà en un mot la manip que j'aimerais faire.

                          -
                          Edité par BantuJazz 13 juillet 2022 à 13:35:05

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Définir un profile sous Edge via SeleniumBasic

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown