148 lines
4.9 KiB
Plaintext
148 lines
4.9 KiB
Plaintext
Metadata-Version: 2.0
|
|
Name: selenium
|
|
Version: 2.53.6
|
|
Summary: Python bindings for Selenium
|
|
Home-page: https://github.com/SeleniumHQ/selenium/
|
|
Author: UNKNOWN
|
|
Author-email: UNKNOWN
|
|
License: UNKNOWN
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
Classifier: Operating System :: POSIX
|
|
Classifier: Operating System :: Microsoft :: Windows
|
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
Classifier: Topic :: Software Development :: Testing
|
|
Classifier: Topic :: Software Development :: Libraries
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Programming Language :: Python :: 2.6
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3.2
|
|
Classifier: Programming Language :: Python :: 3.3
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
|
|
======================
|
|
Selenium Client Driver
|
|
======================
|
|
|
|
Introduction
|
|
============
|
|
|
|
Python language bindings for Selenium WebDriver.
|
|
|
|
The `selenium` package is used 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.2+
|
|
|
|
Installing
|
|
==========
|
|
|
|
If you have `pip <http://www.pip-installer.org>`_ 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 <http://pypi.python.org/pypi/selenium>`_ (e.g. selenium-2.53.2.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 ther machine. You may consider using a `virtualenv <http://www.virtualenv.org/>`_ 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 <http://docs.python.org/3/library/unittest.html>`_ 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/2.53/selenium-server-standalone-2.53.0.jar
|
|
|
|
Run the server from the command line::
|
|
|
|
java -jar selenium-server-standalone-2.53.0.jar
|
|
|
|
Then run your Python client scripts.
|
|
|
|
Use The Source Luke!
|
|
====================
|
|
|
|
View source code online at https://github.com/SeleniumHQ/selenium/tree/master/py/
|
|
|
|
|