Selenium gives “selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary” on Mac

前端 未结 6 2039
星月不相逢
星月不相逢 2020-12-06 04:29

Trying to get selenium to work with Python 3 for web scraping purposes:

from selenium import webdriver
chrome_path = r\"/Library/Frameworks/Pyth         


        
相关标签:
6条回答
  • 2020-12-06 05:16

    I have met this annoying problem when I am lerning selenium. This is my solution: (MacOS 10.13.4)

    1. uninstall my chrome
    2. use homebrew to install chromedriver: brew cask install chromedriver
    3. use homebrew to install chrome: brew cask install google-chrome

    Thanks to homebrew now chrome and chromedriver are installed in the same folder and this problem will be automatically solved.

    0 讨论(0)
  • 2020-12-06 05:17

    The issue is that chromedriver also needs to know where chrome is. In your case it is at a non-default path. So you need to specify the complete path to the Google Chrome binary.

    options = webdriver.ChromeOptions()
    options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
    chrome_driver_binary = "/usr/local/bin/chromedriver"
    driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)
    

    Above code is what you should use

    0 讨论(0)
  • 2020-12-06 05:18
    options = webdriver.ChromeOptions()
    options.binary_location = r"<YOUR_CHROME_PATH>\chrome.exe"
    chrome_driver_path = r"<PATH_TO_CHROME_DRIVER>\chromedriver.exe>"
    
    browser = webdriver.Chrome(chrome_driver_path, chrome_options=options)
    
    0 讨论(0)
  • 2020-12-06 05:28

    If anyone is getting the same error on a linux machine, then you are missing google chrome installation as one of the steps needed for chrome driver to work.

    Follow this link to install Google chrome on Linux.

    Now, check code

    driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', options=chrome_options, service_args=['--verbose', '--log-path=/tmp/chromedriver.log'])
    

    For me it worked.

    0 讨论(0)
  • 2020-12-06 05:32

    If your chromedriver is located within /Library/Frameworks/Python.framework/Versions/3.6/bin/ directory the following code block should be working for you:

    from selenium import webdriver
    
    chrome_path = r'/Library/Frameworks/Python.framework/Versions/3.6/bin/chromedriver'
    driver = webdriver.Chrome(executable_path=chrome_path)
    driver.get('https://www.google.co.in')
    
    0 讨论(0)
  • 2020-12-06 05:33

    It is important on Win to set the name of chrome.exe otherwise it fail to create a process (see below):

      from selenium import webdriver
      from webdriver_manager.chrome import ChromeDriverManager
    
      options = webdriver.ChromeOptions()
      options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
      chrome_driver_binary = r"C:/Users/Max/.wdm/chromedriver/75.0.3770.8/win32/chromedriver.exe"
      driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)
      driver.get('http://web.whatsapp.com')
    

    selenium.common.exceptions.WebDriverException: Message: unknown error: Failed to create a Chrome process.

    For Firefox (download driver https://github.com/mozilla/geckodriver/releases):

      options = webdriver.FirefoxOptions()
      #options.add_argument('-headless')
      #options.binary_location = r"C:\maxbook\maxboxpython\geckodriver-v0.24.0-win64\geckodriver.exe"
      options.binary_location = r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
      firefox_driver_binary = r"C:\maxbook\maxboxpython\geckodriver-v0.24.0-win64\\"
      driver = webdriver.Firefox(firefox_driver_binary, options=options)
    
    0 讨论(0)
提交回复
热议问题