0
votes

Comment contrôler deux profils Google Chrome en utilisant Selenium Python en même temps?

J'essaie de contrôler deux instances Google Chrome en utilisant deux profils différents. Mais quand j'ouvre le premier profil puis exécutez une deuxième instance chromée avec une autre erreur, je reçois des erreurs.

  File "auto.py", line 19, in <module>
    launch(login,password)
  File "auto.py", line 11, in launch_draw
    driver = webdriver.Chrome(options = chrome_options)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /opt/google/chrome/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),platform=Linux 4.19.23-1-MANJARO x86_64)


0 commentaires

4 Réponses :


0
votes

La grille de sélénium vous aidera à faire échelle en exécutant des tests en parallèle. Il suffit de configurer un hub et un nœud avec les commandes suivantes:

pour le hub xxx

et pour le nœud xxx


3 commentaires

Pourquoi selenium-server-standalone-2.45.0.jar qui est presque 3 ans de plus maintenant et selenium-server-standalone-4.x.jar est sur le point d'être libéré ?


@Debanjanb: oui vous avez raison.J'ai mis à jour ma réponse.Sorry pour la confusion.


Désolé gars mais j'utilise sélénium avec Python.



0
votes

States Google Dans l'article ci-dessous, vous êtes connecté à plus d'un compte Google à la fois, Google peut ne pas pouvoir indiquer quel compte vous êtes connecté. Je pense que la solution serait de se déconnecter d'un compte avant de se connecter à la prochaine ou d'utiliser une méthode de conserver les cookies séparément entre les deux sessions. Cet article Google peut vous aider:

https://support.google.com /accounts/answer/1721977?co=genie.platform%3Ddesktop&hl=fr


0 commentaires

0
votes

Je crois que vous pouvez le faire sans avoir besoin de la grille. Essayez d'ajouter l'argument suivant à ChromOportions:

--disable-dev-shm-usage


1 commentaires

Cela n'a pas aidé. Rien n'a changé malheureusement. Première instance chrome se bloque.



0
votes

Cela pourrait avoir quelque chose à voir avec la manière dont vous spécifiez votre répertoire de profil.

Le code suivant fonctionne pour moi (ne semble pas avoir grand chose à faire avec si je suis connecté ou non). p>

  • assume n> 0 dossiers de profil en chrome / utilisateur / données enregistrées comme 'Profile1', 'Profile2', ..., 'Profilen' Li> ul>

    code h1> xxx pré>

    E.g. pourrait activer la fenêtre de navigateur utilisant: p>

    if __name__ == '__main__':
       vars_glob()
       thread_all(ps,new_profile, workers = n+1, chunk = n+1)
    


2 commentaires

Stackoverflow.com/Questtions/38411728/...


Mise à jour de la réponse précédente pour permettre à Multi-threading ... Des mises en garde: non testées (une poignée de Jiggy-Pokery peut être requise).