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)
4 Réponses :
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 p> et pour le nœud p>
Pourquoi selenium-server-standalone-2.45.0.jar code> qui est presque 3 ans de plus maintenant et selenium-server-standalone-4.x.jar code> 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.
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: P>
https://support.google.com /accounts/answer/1721977?co=genie.platform%3Ddesktop&hl=fr P>
Je crois que vous pouvez le faire sans avoir besoin de la grille. Essayez d'ajouter l'argument suivant à ChromOportions:
--disable-dev-shm-usage
Cela n'a pas aidé. Rien n'a changé malheureusement. Première instance chrome se bloque.
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>
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)
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).