Skip to main content

Selenium Client Driver

Introduction

Python language bindings for Selenium WebDriver.

The selenium package is used to automate web browser interaction from Python.

Home:

https://selenium.dev

GitHub:

https://github.com/SeleniumHQ/Selenium

PyPI:

https://pypi.org/project/selenium

IRC/Slack:

https://selenium.dev/support/#ChatRoom

Docs:

https://selenium.dev/selenium/docs/api/py

API Reference:

https://selenium.dev/selenium/docs/api/py/api.html

Updated documentation published with each commit is available at: readthedocs.io


Supported Python Versions

  • Python 3.10+

Supported Browsers

Several browsers are supported, as well as the Remote protocol:

  • Chrome

  • Edge

  • Firefox

  • Safari

  • WebKitGTK

  • WPEWebKit

Installing

Install or upgrade the Python bindings with pip.

Latest official release:

pip install -U selenium

Nightly development release:

pip install -U --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ selenium

Note: you should consider using a virtual environment to create an isolated Python environment for installation.

Drivers

Selenium requires a driver to interface with the chosen browser (chromedriver, edgedriver, geckodriver, etc).

In older versions of Selenium, it was necessary to install and manage these drivers yourself. You had to make sure the driver executable was available on your system PATH, or specified explicitly in code. Modern versions of Selenium handle browser and driver installation for you with Selenium Manager. You generally don’t have to worry about driver installation or configuration now that it’s done for you when you instantiate a WebDriver. Selenium Manager works with most supported platforms and browsers. If it doesn’t meet your needs, you can still install and specify browsers and drivers yourself.

Links to some of the more popular browser drivers:

Chrome:

https://developer.chrome.com/docs/chromedriver

Edge:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver

Firefox:

https://github.com/mozilla/geckodriver

Safari:

https://webkit.org/blog/6900/webdriver-support-in-safari-10

Example 0:

  • launch a new Chrome browser

  • load a web page

  • close the browser

from selenium import webdriver


driver = webdriver.Chrome()
driver.get("https://selenium.dev")
driver.quit()

Example 1:

  • launch a new Chrome browser

  • load the Selenium documentation page

  • find the “WebDriver” link

  • click the “WebDriver” link

  • close the browser

from selenium import webdriver
from selenium.webdriver.common.by import By


driver = webdriver.Chrome()

driver.get("https://selenium.dev/documentation")
assert "Selenium" in driver.title

elem = driver.find_element(By.ID, "m-documentationwebdriver")
elem.click()
assert "WebDriver" in driver.title

driver.quit()

Example 2:

Selenium WebDriver is often used as a basis for testing web applications. Here is an example using Python’s standard unittest framework:

import unittest
from selenium import webdriver


class SeleniumTestCase(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.addCleanup(self.driver.quit)

    def test_page_title(self):
        self.driver.get("https://selenium.dev")
        self.assertIn("Selenium", self.driver.title)

Example 3:

Here is an example using pytest framework:

import pytest
from selenium import webdriver


@pytest.fixture
def driver():
    driver = webdriver.Chrome()
    yield driver
    driver.quit()


def test_page_title(driver):
    driver.get("https://selenium.dev")
    assert "Selenium" in driver.title

Selenium Grid (optional)

For local Selenium scripts, the Java server is not needed.

To use Selenium remotely, you need to also run a Selenium Grid. For information on running Selenium Grid: https://selenium.dev/documentation/grid/getting_started/

To use Remote WebDriver see: https://selenium.dev/documentation/webdriver/drivers/remote_webdriver/?tab=python

Use The Source Luke!

View source code online:

Official:

https://github.com/SeleniumHQ/selenium/tree/trunk/py

Metadata

Release files for selenium 4.50.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for selenium 4.50.0
File Size Uploaded
selenium-4.50.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for selenium 4.50.0
File Interpreter ABI Platform
selenium-4.50.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 MB

Release files / selenium-4.50.0.tar.gz

Download URL selenium-4.50.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
80402fb6f48e0ee2183ec1d58b257a593dcd5c8130c1e6419ee7509f2128be5d
BLAKE2b-256 checksum
How to use checksums
1f6c09a5bdf96a5f850a2bf69ee670a246ae30a132dca3975c7fb081aae09338
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / selenium-4.50.0-py3-none-any.whl

Download URL selenium-4.50.0-py3-none-any.whl
Size 12.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f724a38a7fd8b0561c6767c620bd9b2c7bd8012d4cb664b2ad23064e5d67d0df
BLAKE2b-256 checksum
How to use checksums
f7d3fedaee179dcd47a7033bb5a74b7d5742da18e46d4ef3b279277c887de64a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.50.0 This release

2 release files

4.48.0

2 release files

4.47.0

2 release files

4.46.0

2 release files

4.45.0

2 release files

4.44.0

2 release files

4.43.0

2 release files

4.41.0

2 release files

4.40.0

2 release files

4.38.0

2 release files

4.37.0

2 release files

4.35.0

2 release files

4.34.1

1 release file

4.34.0

2 release files

4.33.0

2 release files

4.30.0

2 release files

4.29.0

2 release files

4.28.1

2 release files

4.28.0

2 release files

4.27.1

2 release files

4.27.0

2 release files

4.26.1

2 release files

4.26.0

2 release files

4.25.0

2 release files

4.24.0

2 release files

4.23.1

2 release files

4.23.0

2 release files

4.22.0

2 release files

4.21.0

2 release files

4.20.0

2 release files

4.19.0

2 release files

4.18.1

2 release files

4.18.0

2 release files

4.17.2

2 release files

4.17.1

2 release files

4.17.0

2 release files

4.14.0

2 release files

4.13.0

2 release files

4.12.0

2 release files

4.11.0

2 release files

4.9.1

2 release files

4.9.0

2 release files

4.8.3

2 release files

4.8.2

2 release files

4.8.1

2 release files

4.8.0

2 release files

4.7.2

2 release files

4.7.1

1 release file

4.7.0

1 release file

4.6.1

1 release file

4.6.0

1 release file

4.5.0

1 release file

4.4.3

1 release file

4.4.2

1 release file

4.4.1

1 release file

4.4.0

1 release file

4.3.0

1 release file

4.2.0

1 release file

4.1.5

1 release file

4.1.4

1 release file

4.1.3

1 release file

4.1.2

1 release file

4.1.1

1 release file

4.1.0

1 release file

4.0.0

1 release file

3.14.1

2 release files

3.13.0

2 release files

3.11.0

2 release files

3.9.0

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.3

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.3

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.53.6

2 release files

2.53.5

2 release files

2.53.2

2 release files

2.53.1

2 release files

2.53.0

2 release files

2.52.0

1 release file

2.51.1

1 release file

2.51.0

1 release file

2.50.0

2 release files

2.49.2

2 release files

2.49.1

2 release files

2.49.0

2 release files

2.47.3

2 release files

2.47.2

1 release file

2.47.0

1 release file

2.46.1

1 release file

2.46.0

1 release file

2.45.0

1 release file

2.44.0

1 release file

2.43.0

1 release file

2.42.1

1 release file

2.42.0

1 release file

2.41.0

1 release file

2.40.0

1 release file

2.39.0

1 release file

2.38.4

1 release file

2.38.3

1 release file

2.38.2

1 release file

2.38.1

1 release file

2.38.0

1 release file

2.37.2

1 release file

2.37.1

1 release file

2.37.0

1 release file

2.36.0

1 release file

2.35.0

1 release file

2.34.0

1 release file

2.33.0

1 release file

2.32.0

1 release file

2.31.0

1 release file

2.30.0

1 release file

2.29.0

1 release file

2.28.0

1 release file

2.27.0

1 release file

2.26.0

1 release file

2.25.0

1 release file

2.24.0

1 release file

2.23.0

1 release file

2.22.1

1 release file

2.22.0

1 release file

2.21.3

1 release file

2.21.2

1 release file

2.21.1

1 release file

2.21.0

1 release file

2.20.0

1 release file

2.19.1

1 release file

2.19.0

1 release file

2.18.1

1 release file

2.17.0

2 release files

2.16.0

1 release file

2.15.0

1 release file

2.14.0

1 release file

2.13.1

1 release file

2.13.0

1 release file

2.12.1

1 release file

2.12.0

1 release file

2.11.1

1 release file

2.11.0

1 release file

2.10.0

1 release file

2.9.0

1 release file

2.8.1

1 release file

2.8.0

1 release file

2.7.0

1 release file

2.6.0

1 release file

2.5.0

1 release file

2.4.0

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.0.3

1 release file

1.0.1

3 release files

0.9.2

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page