Selenium is a tool for automating web application testing. It supports multiple browsers and operating systems. Selenium has several components including Selenium IDE for recording and playing back tests in Firefox, Selenium RC for running tests across browsers, Selenium WebDriver for browser automation, and Selenium Grid for distributed testing. Selenium IDE records user actions as scripts, which can then be enhanced and debugged. WebDriver interacts directly with browser APIs for better control and supports the latest technologies. Grid allows running tests in parallel on different browsers and machines.