Python bindings for Selenium
Project description
Introduction
Python language bindings for Selenium WebDriver.
The selenium package is used to automate web browser interaction from Python.
Home: | http://www.seleniumhq.org |
Docs: | https://seleniumhq.github.io/selenium/docs/api/py/api.html |
Dev: | https://github.com/SeleniumHQ/selenium |
PyPI: | https://pypi.python.org/pypi/selenium |
IRC: | #selenium channel on freenode |
Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer, PhantomJS), as well as the Remote protocol.
Supported Python Versions
- Python 2.6, 2.7
- Python 3.3+
Installing
If you have pip 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 (e.g. selenium-3.0.0.b3.tar.gz), unarchive it, and run:
python setup.py install
Note: both of the methods described above install selenium as a system-wide package That will require administrative/root access to their machine. You may consider using a virtualenv to create isolated Python environments instead.
Example 0:
- open a new Firefox browser
- load the page at the given URL
from selenium import webdriver browser = webdriver.Firefox() browser.get('http://seleniumhq.org/')
Example 1:
- open a new Firefox browser
- load the Yahoo homepage
- search for “seleniumhq”
- close the browser
from selenium import webdriver 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 uisng Python’s standard unittest library:
import unittest class GoogleTestCase(unittest.TestCase): def setUp(self): self.browser = webdriver.Firefox() self.addCleanup(self.browser.quit) def testPageTitle(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: http://selenium-release.storage.googleapis.com/3.0-beta2/selenium-server-standalone-3.0.0-beta2.jar
Run the server from the command line:
java -jar selenium-server-standalone-3.0.0-beta2.jar
Then run your Python client scripts.
Use The Source Luke!
View source code online at https://github.com/SeleniumHQ/selenium/tree/master/py/
Project details
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
selenium-3.0.0b3-py2.py3-none-any.whl (912.2 kB) Copy SHA256 hash SHA256 | Wheel | 2.7 | |
selenium-3.0.0b3.tar.gz (823.6 kB) Copy SHA256 hash SHA256 | Source | None |