selenium (4.10.0)

Published 2026-02-24 14:13:16 +00:00 by atheaadmin

Installation

pip install --index-url  selenium

About this package

====================== 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 | +-----------+--------------------------------------------------------------------------------------+ | Docs: | selenium package API <https://seleniumhq.github.io/selenium/docs/api/py/api.html>_ | +-----------+--------------------------------------------------------------------------------------+ | Dev: | https://github.com/SeleniumHQ/Selenium | +-----------+--------------------------------------------------------------------------------------+ | PyPI: | https://pypi.org/project/selenium/ | +-----------+--------------------------------------------------------------------------------------+ | IRC: | #selenium channel on LiberaChat | +-----------+--------------------------------------------------------------------------------------+

Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer), as well as the Remote protocol.

Supported Python Versions

  • Python 3.7+

Installing

If you have pip <https://pip.pypa.io/>_ on your system, you can simply install or upgrade the Python bindings::

pip install -U selenium

Alternately, you can download the source distribution from PyPI <https://pypi.org/project/selenium/#files>_ (e.g. selenium-4.10.0.tar.gz), unarchive it, and run::

python setup.py install

Note: You may want to consider using virtualenv <http://www.virtualenv.org/>_ to create isolated Python environments.

Drivers

Selenium requires a driver to interface with the chosen browser. Firefox, for example, requires geckodriver <https://github.com/mozilla/geckodriver/releases>_, which needs to be installed before the below examples can be run. Make sure it's in your PATH, e. g., place it in /usr/bin or /usr/local/bin.

Failure to observe this step will give you an error selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

Other supported browsers will have their own drivers available. Links to some of the more popular browser drivers follow.

+--------------+-----------------------------------------------------------------------+ | Chrome: | https://chromedriver.chromium.org/downloads | +--------------+-----------------------------------------------------------------------+ | Edge: | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ | +--------------+-----------------------------------------------------------------------+ | Firefox: | https://github.com/mozilla/geckodriver/releases | +--------------+-----------------------------------------------------------------------+ | Safari: | https://webkit.org/blog/6900/webdriver-support-in-safari-10/ | +--------------+-----------------------------------------------------------------------+

Example 0:

  • open a new Firefox browser
  • load the page at the given URL

.. code-block:: python

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://selenium.dev/')

Example 1:

  • open a new Firefox browser
  • load the Yahoo homepage
  • search for "seleniumhq"
  • close the browser

.. code-block:: python

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

browser = webdriver.Firefox()

browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title

elem = browser.find_element(By.NAME, 'p')  # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)

browser.quit()

Example 2:

Selenium WebDriver is often used as a basis for testing web applications. Here is a simple example using Python's standard unittest <http://docs.python.org/3/library/unittest.html>_ library:

.. code-block:: python

import unittest
from selenium import webdriver

class GoogleTestCase(unittest.TestCase):

    def setUp(self):
        self.browser = webdriver.Firefox()
        self.addCleanup(self.browser.quit)

    def test_page_title(self):
        self.browser.get('http://www.google.com')
        self.assertIn('Google', self.browser.title)

if __name__ == '__main__':
    unittest.main(verbosity=2)

Selenium Server (optional)

For normal WebDriver scripts (non-Remote), the Java server is not needed.

However, to use Selenium Webdriver Remote or the legacy Selenium API (Selenium-RC), you need to also run the Selenium server. The server requires a Java Runtime Environment (JRE).

Download the server separately, from: https://www.selenium.dev/downloads/

Run the server from the command line::

java -jar selenium-server-4.6.0.jar

Then run your Python client scripts.

Use The Source Luke!

View source code online:

+-----------+------------------------------------------------------+ | official: | https://github.com/SeleniumHQ/selenium/tree/trunk/py | +-----------+------------------------------------------------------+

Contributing

  • Create a branch for your work
  • Ensure tox is installed (using a virtualenv is recommended)
  • python3.7 -m venv .venv && . .venv/bin/activate && pip install tox
  • After making changes, before committing execute tox -e linting
  • If tox exits 0, commit and push otherwise fix the newly introduced breakages.
  • flake8 requires manual fixes
  • black will often rewrite the breakages automatically, however the files are unstaged and should staged again.
  • isort will often rewrite the breakages automatically, however the files are unstaged and should staged again.

Requirements

Requires Python: >=3.7
Details
PyPI
2026-02-24 14:13:16 +00:00
0
Apache 2.0
6.4 MiB
Assets (1)
Versions (2) View all
4.10.0 2026-02-24
4.33.0 2026-02-24