| # WebDriver client for Python |
| |
| This package provides Python bindings |
| that conform to the [W3C WebDriver standard](https://w3c.github.io/webdriver/webdriver-spec.html), |
| which specifies a remote control protocol for web browsers. |
| |
| These bindings are written with determining |
| implementation compliance to the specification in mind, |
| so that different remote end drivers |
| can determine whether they meet the recognised standard. |
| The client is used for the WebDriver specification tests |
| in the [Web Platform Tests](https://github.com/w3c/web-platform-tests). |
| |
| ## Installation |
| |
| To install the package individually |
| in your virtualenv or system-wide: |
| |
| % python setup.py install |
| |
| Since this package does not have any external dependencies, |
| you can also use the client directly from the checkout directory, |
| which is useful if you want to contribute patches back: |
| |
| % cd /path/to/wdclient |
| % python |
| Python 2.7.12+ (default, Aug 4 2016, 20:04:34) |
| [GCC 6.1.1 20160724] on linux2 |
| Type "help", "copyright", "credits" or "license" for more information. |
| >>> import webdriver |
| >>> |
| |
| If you are writing WebDriver specification tests for |
| [WPT](https://github.com/w3c/web-platform-tests), |
| there is no need to install the client manually |
| as it is included in the `tools/webdriver` directory. |
| |
| ## Usage |
| |
| You can use the built-in |
| [context manager](https://docs.python.org/2/reference/compound_stmts.html#the-with-statement) |
| to manage the lifetime of the session. |
| The session is started implicitly |
| at the first call to a command if it has not already been started, |
| and will implicitly be ended when exiting the context: |
| |
| ```py |
| import webdriver |
| |
| with webdriver.Session("127.0.0.1", 4444) as session: |
| session.url = "https://mozilla.org" |
| print "The current URL is %s" % session.url |
| ``` |
| |
| The following is functionally equivalent to the above, |
| but giving you manual control of the session: |
| |
| ```py |
| import webdriver |
| |
| session = webdriver.Session("127.0.0.1", 4444) |
| session.start() |
| |
| session.url = "https://mozilla.org" |
| print "The current URL is %s" % session.url |
| |
| session.end() |
| ``` |
| |
| ## Dependencies |
| |
| This client has the benefit of only using standard library dependencies. |
| No external PyPI dependencies are needed. |