Interface to Selenium 2 aka WebDriver

1.5.6 2016-07-08 11:53 UTC


This library is a client for Selenium WebDriver. It is forked from Facebook's php-webdriver project. The main changes are bug fixes, PSR0-autoloading support, and publishing it as a PEAR package.

Internally, it is implemented as a very thin wrapper around the JsonWireProtocol that WebDriver uses to control a (possibly remote) browser.

System-Wide Installation

php-webdriver should be installed using the PEAR Installer.

sudo pear channel-discover
sudo pear install --alldeps DataSift/webdriver1

Composer support coming soon.

As A Dependency On Your Component

If you are creating a component that relies on php_webdriver, please make sure that you add php_webdriver to your component's package.xml file:



For now, refer to the original documentation from Facebook's php-webdriver project, and to the WebDriver JsonWireProtocol document. We hope to publish better documentation when time allows.

Development Environment

If you want to patch or enhance this component, you will need to create a suitable development environment. The easiest way to do that is to install phix4componentdev.

You can then clone the git repository:

git clone

Then, install a local copy of this component's dependencies to complete the development environment:

# build vendor/ folder
phing build-vendor

To make life easier for you, common tasks (such as running unit tests, generating code review analytics, and creating the PEAR package) have been automated using phing. You'll find the automated steps inside the build.xml file that ships with the component.

Run the command 'phing' in the component's top-level folder to see the full list of available automated tasks.


See LICENSE.txt for full license details.