WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers.

To have the ability to write instruction sets that can be run interchangeably in many browsers on different platforms is critical to deliver a consistent experience to users. With the new wave of developments on the web platform, the increase diversity in devices and demands for real interoperability between the technologies, WebDriver provides tooling for cross-browser testing.

Provided is a set of interfaces to discover and manipulate DOM elements in web documents and to control the behavior of a user agent. It is primarily intended to allow web authors to write tests that automate a user agent from a separate controlling process, but may also be used in such a way as to allow in-browser scripts to control a — possibly separate — browser.


WebDriver concepts and usage

To use WebDriver, you need to ... give high level description of how it is used, rather than low-level specifics, then link to further page(s) providing installation specifics.

WebDriver involves four main things:

  • a
  • b
  • c
  • d

These things work together like so ... explain workflow of how commands, actions, etc. do stuff.



List of links to tutorials? We could delete this for now, or link to tutorial elsewhere, until ours are written.


Include list of links to examples, preferrably in different languages. Don't include actual code blocks here.


Specification Status Comment
WebDriver Recommendation Initial definition

Browser compatibility

No compatibility data found. Please contribute data for "webdriver" (depth: 1) to the MDN compatibility data repository.

See also

Document Tags and Contributors

Contributors to this page: ato, ExE-Boss, kjb, chrisdavidmills
Last updated by: ato,