Let's explore one by one how Selenium components work:
Also known as Selenium 2.0, WebDriver runs test scripts via browser-specific drivers. Consists in:
The Grid component helps the user to minimize execution time by being able to run multiple scripts at the same time on an unlimited number of remote devices. This process is known as parallel testing.
Selenium Grid is also seen as a smart server that helps route test commands and browser instances to all remote devices. It uses two main components: the server and the remote device.
It is an add-on available in Chrome and Firefox that allows the user to register "natural" interactions in the browser and be able to generate code in different programming languages, for example, it can be generated in C#, Java, Python and Ruby, in addition to the language itself. Selenium Scripts: Selenese.
It is also for testers to enable “recording” within the IDE so they can play the test scenario in the browser. Its defect is that the generated code is usually too complicated to be used in scripts for automatic tests.
As they explain on their official website “Selenium is a general project for a range of tools and libraries that enable and support web browser automation. It provides extensions to emulate user interaction with browsers, a distribution server to scale browser allocation, and the infrastructure for implementations of the W3C WebDriver specification that allows you to write interchangeable code for all major web browsers.