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 majority of element methods Watir provides with is autogenerated from specifications. This is done by extracting the IDL parts from the spec and processing them with the WebIDL gem (link below). Currently supported specifications are:

  • HTML (lib/watir-webdriver/elements/html_generated.rb)
  • SVG (lib/watir-webdriver/elements/svg_generated.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.