Selenium WebDriver Architecture
Selenium WebDriver API allows you to interact with a particular web browser using driver implementations. You can use WebDriver in multiple programming languages, such as Java, Python, Ruby, Perl, etc.
You need to install language-specific bindings to automate the browser. For example, in an earlier lesson, you installed the Selenium Python library.
Selenium WebDriver = Language bindings + Browser commands
WebDriver API
The WebDriver API a programmatic interface designed to control web browsers. It allows developers to simulate user interactions with web applications running on web browser.
The WebDriver API primarily uses a client-server architecture. The client, a programming language library, sends commands to a WebDriver server. The server, in turn, communicates with the browser to perform actions such as clicking buttons, filling out forms, or navigating pages. These commands are typically sent over HTTP.
WebDriver controls the browser by sending commands to a remote server. The remote server is expected to be running the WebDriver wire protocol
called as JSON Wire Protocol.