Last modified: Mar 06, 2025 By Alexander Williams

Fix Python NameError: Name 'webdriver' Not Defined

If you're working with Python and Selenium, you might encounter the error: NameError: Name 'webdriver' Not Defined. This error occurs when Python cannot find the webdriver module or class in your code. Let's explore the causes and solutions.

What Causes the NameError?

The NameError is raised when Python encounters a name that it doesn't recognize. In this case, it means that the webdriver name is not defined in your script. This usually happens due to one of the following reasons:

  • You forgot to import the webdriver module from Selenium.
  • You misspelled the webdriver name.
  • The Selenium package is not installed in your environment.

How to Fix the NameError

To resolve the NameError: Name 'webdriver' Not Defined, follow these steps:

1. Import the webdriver Module

Ensure that you have imported the webdriver module from Selenium at the beginning of your script. Here's how you can do it:


from selenium import webdriver
    

This line imports the webdriver module, allowing you to use its classes and methods.

2. Check for Typos

Double-check your code for any typos. For example, writing webdrver instead of webdriver will cause the error. Always ensure the correct spelling.

3. Install Selenium

If you haven't installed Selenium, you need to install it using pip. Run the following command in your terminal:


pip install selenium
    

This command installs the Selenium package, making the webdriver module available for use.

Example Code

Here's an example of how to use the webdriver module correctly:


from selenium import webdriver

# Initialize the Chrome browser
driver = webdriver.Chrome()

# Open a website
driver.get("https://www.example.com")

# Close the browser
driver.quit()
    

In this example, the webdriver module is imported, and a Chrome browser instance is created. The browser navigates to a website and then closes.

Common Mistakes to Avoid

When working with Selenium and webdriver, avoid these common mistakes:

  • Forgetting to import the webdriver module.
  • Using an incorrect browser driver (e.g., ChromeDriver for Firefox).
  • Not having the browser driver executable in your system's PATH.

If you encounter similar errors with other modules, check out these guides:

Conclusion

The NameError: Name 'webdriver' Not Defined is a common issue when working with Selenium in Python. By ensuring proper imports, checking for typos, and installing the necessary packages, you can easily resolve this error. Always double-check your code and environment setup to avoid such issues.