Watir implementation built on WebDriver's Ruby bindings. See introduction mail.

Gem Version Build Status Code Climate Dependency Status Coverage Status


require 'watir-webdriver'

browser = Watir::Browser.new :firefox
browser.goto "http://google.com"
browser.text_field(name: 'q').set("WebDriver rocks!")
browser.button(name: 'btnG').click
puts browser.url


The file in lib/watir-webdriver/elements/html_generated.rb is autogenerated from the HTML spec. This is done by extracting the IDL parts from the spec and processing them with the WebIDL gem (link below).

The same is true for lib/watir-webdriver/elements/svg_elements.rb.


watir-webdriver uses watirspec for testing. After cloning, you should fetch the submodule:

git submodule init && git submodule update

Specs specific to watir-webdriver are found in spec/*_spec.rb, with watirspec in spec/watirspec/.


watir-webdriver uses yard-doctest for testing documentation examples.

rake yard:doctest

API docs

See also


  • selenium-webdriver

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.


Copyright (c) 2009-2015 Jari Bakken. See LICENSE for details.