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 :

Piloter le navigateur web via CDP Framework


Sujet :

Macros et VBA Excel

  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut Piloter le navigateur web via CDP Framework
    Bonjour,

    J'ai fais quelques tests dernièrement avec le CDP Framework:
    https://www.developpez.net/forums/d2...r-vba-excel/#3

    Il semble avoir beaucoup de mal avec le navigateur Chrome.
    Suis-je le seul à expérimenter ce phénomène ?
    Y'a t'il eut une mise à jour de Chrome ?

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    Citation Envoyé par deedolith Voir le message
    J'ai fais quelques tests dernièrement avec le CDP Framework:
    https://www.developpez.net/forums/d2...r-vba-excel/#3
    Il semble avoir beaucoup de mal avec le navigateur Chrome.
    Suis-je le seul à expérimenter ce phénomène ?
    Y'a t'il eut une mise à jour de Chrome ?
    Hello,
    Quels sont les problèmes ? Un exemple de code qui pose problème ?

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Juste lancer Chrome:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
     
    Public Sub test()
        Dim Browser As CDPBrowser
        Set Browser = New CDPBrowser
        Browser.start
    End Sub
    Et voici la log (j'ai mis l'erreur qui apparait via un popup en rouge):
    00:12:57 | BRID706 | Reattachment aborted as reAttach=Vrai & isLive=Faux
    ----------------------------------------------------------------------------------------------------
    New Browser Session Started
    ----------------------------------------------------------------------------------------------------
    00:12:58 | BRID706 | cleanUpSessions completed and previous CdpSessionID removed
    00:12:58 | BRID706 | setCrashStateNormal completed
    00:12:58 | BRID706 | CDPCore initialized successfully
    00:13:28 | BRID706 | sendMessage error at line 23: "Timeout waiting for browser to return message."
    00:13:28 | BRID706 | strMessage used by sendMessage: {"method":"Target.setDiscoverTargets","params":{"discover":true}, "id":1}
    00:13:28 | BRID706 | attachToSession error at line 1: "sendMessage error at line 23: "Timeout waiting for browser to return message.""
    00:13:28 | BRID706 | objAllMessages = {}
    00:13:28 | BRID706 | results =
    00:13:28 | BRID706 | results_ =
    00:13:28 | BRID706 | results__ =
    00:13:28 | BRID706 | results___ =
    00:13:28 | BRID706 | .start call string: "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-pipe --enable-automation--homepage "about:blank"
    00:13:28 | BRID706 | ---------------------------------------------------
    00:13:28 | BRID706 | BRID706 Information
    00:13:28 | BRID706 | ---------------------------------------------------
    00:13:28 | BRID706 | Session ID | sessionID |
    00:13:28 | BRID706 | Last ID | lngLastID | 2
    00:13:28 | BRID706 | Window Handle | brHWnd | 0
    00:13:28 | BRID706 | Window ID | brWId |
    00:13:28 | BRID706 | Browser Type | brType | chrome.exe
    00:13:28 | BRID706 | Browser Ver | brVer |
    00:13:28 | BRID706 | Browser Path | brPath | C:\Program Files\Google\Chrome\Application\chrome.exe
    00:13:28 | BRID706 | Tab URL | brUrl |
    00:13:28 | BRID706 | Tab Title | brName |
    00:13:28 | BRID706 | Tab ID | targetID |
    00:13:28 | BRID706 | Core StdInWr | hStdInWr | 9592
    00:13:28 | BRID706 | Core StdOutRd | hStdOutRd | 5596
    00:13:28 | BRID706 | Core CDPInWr | hCDPInWr | 4904
    00:13:28 | BRID706 | Core CDPOutRd | hCDPOutRd | 5444
    00:13:28 | BRID706 | CDP Version | CDPVer | 2.7.4

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    Effectivement, j'ai aussi le problème mais il semblerait que ce soit ce soit ceci évoqué sur le github de CDP VBA :
    From my initial investigation, it seems that Chrome team has made some changes:
    Remote debugging via a TCP port or a pipe is no longer possible in Google Chrome with the default data directory on Windows, Linux, and macOS. A custom data directory must be specified to remotely debug Google Chrome using the --user-data-dir switch, when using the --remote-debugging-pipe or --remote-debugging-port switches.
    We’ve made this change because these remote debugging switches are being abused by infostealers and malware to extract data from Google Chrome. A custom user data directory uses a different encryption key and so it prevents malware stealing encrypted data such as cookies.
    This change does not affect Chrome for Testing and Chromium.
    This means we should be able to continue using CDP if we add the user data argument to the start method. I will test later on and see if that is the case.
    Avec ce code Google Chrome fonctionne chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub test()    Dim Browser As CDPBrowser
        Set Browser = New CDPBrowser
        Browser.start addArgs:="--user-data-dir=d:\CDP\Chrome"
        Browser.navigate "https://google.fr"
        Browser.sleep 5
        Browser.quit
    End Sub
    d:\CDP\Chrome étant un répertoire accessible où seront stockés le profil , les cookies, le cache. A noter qu'à la première utilisation , il faut répondre aux questions que posent Google, ensuite cela ne sera plus nécessaire.
    A noter qu'avec Edge il n'y a pas ce problème. Dans une autre discussion tu dis qu'il est capricieux. Un exemple ? chez moi je n'ai pas de problèmes (j'utilise systématiquement un répertoire de profil).

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Dans une autre discussion tu dis qu'il est capricieux. Un exemple ? chez moi je n'ai pas de problèmes (j'utilise systématiquement un répertoire de profil).
    De mémoire, lors de mes tests préliminaires (que je n'ai pas conservé), j'avais essuyé de nombreux plantages, principalement concernant le lancement d'une nouvelle instance de Edge tout en conservant les instances en cours.
    Le pilotage de Chrome s'était révélé plus stable.

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    Citation Envoyé par deedolith Voir le message
    De mémoire, lors de mes tests préliminaires (que je n'ai pas conservé), j'avais essuyé de nombreux plantages, principalement concernant le lancement d'une nouvelle instance de Edge tout en conservant les instances en cours.
    Le pilotage de Chrome s'était révélé plus stable.
    Hello,
    moi j'utilise CDP avec Edge toujours avec aucune instance d'Edge lancée et je n'ai pas de problème. Sinon il y a des options (cleanActive et reAttach ) dans le Start :
    ' If cleanActive is False, the method will skip cleaning currently open instances. This will save' initialization time but if an instance is already running and not closed, pipe error will be triggered.
    ' If reAttach is True, the method will always try to reattach to the previous automation session if it is
    ' still active. If not, it will then move on to start a brand new session. If False, it will always open a new
    ' session regardless whether there is an on going one or not.
    Ce texte se trouve dans le module de classe CDPBrowser

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    moi j'utilise CDP avec Edge toujours avec aucune instance d'Edge lancée et je n'ai pas de problème.
    C'est un cas particulier.

    Est-ce un comportement souhaitable dans tous les cas ? Je ne le pense pas.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/11/2011, 09h25
  2. Piloter un navigateur web
    Par Garfield5792 dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/09/2009, 00h57
  3. Piloter un navigateur web sous linux
    Par rootdaoud dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 22/04/2005, 11h00

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