web-dev-qa-db-fra.com

Python Selenium Chrome Pilote Web

Je commence l'automatisation du livre de contenu ennuyeux et j'essaie d'ouvrir un navigateur Web chrome via python. J'ai déjà installé Selenium et

J'ai essayé de lancer ce fichier:

from Selenium import webdriver
from Selenium.webdriver.common.by import By
from Selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('https://automatetheboringstuff.com')

Mais à cause de cela je reçois cette erreur:

Traceback (most recent call last):   File "C:\Program Files
   (x86)\Python36-32\lib\site-packages\Selenium\webdriver\common\service.py",
 line 74, in start
     stdout=self.log_file, stderr=self.log_file)   File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 707, in __init__
     restore_signals, start_new_session)   File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 990, in _execute_child
     startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (most recent call last):   File "C:/Program Files
(x86)/Python36-32/test.py", line 5, in <module>
    browser = webdriver.Chrome()   File "C:\Program Files (x86)\Python36-32\lib\site-packages\Selenium\webdriver\chrome\webdriver.py",
line 62, in __init__
   self.service.start()   File "C:\Program Files (x86)\Python36-32\lib\site-packages\Selenium\webdriver\common\service.py",
line 81, in start
   os.path.basename(self.path), self.start_error_message) Selenium.common.exceptions.WebDriverException: Message: 'chromedriver'
  executable needs to be in PATH. Please see
https://sites.google.com/a/chromium.org/chromedriver/home
24
Fernando Garibaldi

Vous devez spécifier le chemin où se trouve votre chromedriver .

  1. Télécharger chromedriver pour votre plate-forme désirée d'ici .

  2. Placez chromedriver sur votre chemin système ou à l’endroit où se trouve votre code.

  3. Si vous n'utilisez pas de chemin système, liez votre chromedriver.exe (pour les utilisateurs autres que Windows, il s'appelle simplement chromedriver):

    browser = webdriver.Chrome(executable_path=r"C:\path\to\chromedriver.exe")
    

    (Définissez executable_path sur l'emplacement où se trouve votre chromedriver.)

    Si vous avez placé chromedriver sur votre chemin système, vous pouvez effectuer un raccourci simplement en procédant comme suit:

    browser = webdriver.Chrome()

  4. Si vous utilisez un système d'exploitation basé sur Unix, vous devrez peut-être mettre à jour les autorisations de chromedriver après l'avoir téléchargé pour le rendre exécutable:

    chmod +x chromedriver

  5. C'est tout. Si vous rencontrez toujours des problèmes, des informations supplémentaires peuvent être trouvées sur cet autre article de StackOverflow: impossible d'utiliser le pilote chrome pour Selenium

43
Ahmad Taha

Voici une solution plus simple: installez le paquet python-chromedrive, importez-le dans votre script, et c'est terminé.

Pas à pas :
1. pip installer chromedriver-binary
2. importer le paquet

from Selenium import webdriver
import chromedriver_binary  # Adds chromedriver binary to path

driver = webdriver.Chrome()
driver.get("http://www.python.org")

Référence: https://pypi.org/project/chromedriver-binary/

0
Louis