web-dev-qa-db-fra.com

Selenium: WebDriverException: Echec du démarrage de Chrome: crash bloqué car Google-chrome n'est plus en cours d'exécution, de sorte que ChromeDriver considère que Chrome s'est écrasé.

Je sais qu'il existe plusieurs réponses à cette question, mais que rien n'a fonctionné pour moi jusqu'à présent, je poste une nouvelle question.

Récemment, j’ai changé d’ordinateur et depuis lors, je ne peux plus lancer Chrome avec Selenium. J'ai aussi essayé Firefox mais le navigateur ne fonctionne pas. 

from Selenium import webdriver

d = webdriver.Chrome('/home/PycharmProjects/chromedriver')

d.get('https://www.google.nl/')

je reçois l'erreur suivante:

Selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (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=2.43.600233, platform=Linux 4.15.0-38-generic x86_64)

j'ai la dernière version de chrome et chromedriver installés

EDIT: Après avoir essayé la solution @ b0sss, je reçois l’erreur suivante.

Selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (chrome not reachable)
  (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=2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d),platform=Linux 4.15.0-38-generic x86_64)
5
SOeh

Ce message d'erreur ...

Selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (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.)

... implique que le lecteur ChromeDriver n'a pas pu lancer/créer un nouveau WebBrowser i.e. Navigateur Chrome session.

Votre problème principal est que le navigateur Chrome n'est pas installé à l'emplacement par défaut de votre système.

ChromeDriver s'attend à ce que Chrome soit installé à l'emplacement default pour chaque système, comme indiqué dans l'image ci-dessous:

Chrome_binary_expected_location

1Pour les systèmes Linux, ChromeDriver s'attend à ce que /usr/bin/google-chrome soit un lien symbolique vers le binaire Chrome actuel. 


Solution

Si vous utilisez un Chrome exécutable dans un emplacement non standard, vous devez outrepasser l'emplacement binaire de Chrome. comme suit:

Chrome executable in a non-standard location

4
DebanjanB

Essayez de télécharger ICI et utilisez cette dernière version du pilote chrome.

https://sites.google.com/a/chromium.org/chromedriver/downloads

MODIFIER:

Essaye ça:

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
d = webdriver.Chrome('/home/PycharmProjects/chromedriver',chrome_options=chrome_options)
d.get('https://www.google.nl/')
5
NgoCuong

J'ai rencontré le problème exact qui s'exécutait sur un conteneur Docker (dans l'environnement de génération). Après ssh dans le conteneur, j'ai essayé de lancer le test manuellement et j'ai quand même rencontré 

(unknown error: DevToolsActivePort file doesn't exist)
     (The process started from chrome location /usr/bin/google-chrome-stable is 
      no longer running, so ChromeDriver is assuming that Chrome has crashed.)

Lorsque j'ai essayé d'exécuter chrome localement /usr/bin/google-chrome-stable, un message d'erreur 

Running as root without --no-sandbox is not supported

J'ai vérifié mes ChromeOptions et il manquait --no-sandbox, c'est pourquoi il ne pouvait pas générer de chrome.

capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
  chromeOptions: { args: %w(headless --no-sandbox disable-gpu window-size=1920,1080) }
)
1
ibaralf

En supposant que vous ayez déjà téléchargé chromeDriver, cette erreur se produit également lorsque plusieurs onglets de chrome sont déjà ouverts.

Si vous fermez tous les onglets et que vous exécutez à nouveau, l'erreur devrait disparaître. 

0
tugce