Selenium: geckodriver executable needs to be in PATH?

Selenium is a popular web browser automation library used for web scraping. To run, however, Selenium needs special web browser executables called drivers. For example, to run Firefox web browser Selenium needs geckodriver to be installed. Without it a generic exception will be raised:

selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

This can also mean that the geckodriver is installed but Selenium can't find it. To fix this the geckodriver location should be added to the PATH environment variable:

$ export PATH=$PATH:/location/where/geckodriver/is/

Alternatively, we can specify the driver directly in the Selenium initiation code:

from selenium import webdriver
driver = webdriver.Firefox(executable_path=r'your\path\geckodriver.exe')
driver.get('https://scrapfly.io/')

Related Posts

How to Scrape Google Maps

We'll take a look at to find businesses through Google Maps search system and how to scrape their details using either Selenium, Playwright or ScrapFly's javascript rendering feature - all of that in Python.

Web Scraping with Selenium and Python Tutorial + Example Project

Introduction to web scraping dynamic javascript powered websites and web apps using Selenium browser automation library and Python.

How to Scrape Dynamic Websites Using Headless Web Browsers

Introduction to using web automation tools such as Puppeteer, Playwright, Selenium and ScrapFly to render dynamic websites for web scraping