Selenium implements the W3C WebDriver protocol to automate popular browsers. It aims to mimic the behaviour of a real user as it interacts with the application's HTML. It's primarily intended for web application testing, but any web-based task can automated.
![Category: Browser testing - The Ruby Toolbox](https://cdn-ak-scissors.b.st-hatena.com/image/square/6caf8a737926f776b0c2ff80b64405b41e194953/height=288;version=1;width=512/https%3A%2F%2Fwww.ruby-toolbox.com%2Fassets%2Flogo%2Fbox-with-padding-5d10842e10693a20fad5c78f559da0f10c1edc111ebbeefd0b5d4572ee2d1275.png)