I also had the same question, but after digging, I found
WebDriver uses a native browser approach. Selenium offers a built-in driver for Firefox, but not for other browsers. All drivers (Chrome driver, IE driver, etc.) Built on the basis of a special JS engine used by each browser.
Selenium WebDriver works very well with Mozilla Firefox because it has a built-in driver server. But the same does not apply to Internet Explorer and Google Chrome. Firefox is the most traditional browser, so Selenium WebDriver does not require installing any additional utilities before launching the browser. The Selenium package automatically references the default location for firefox.exe, so the user does not need to set any other property.
If you ever get the error message "the path to the executable file of the driver must be set by the web driver, that is, the property of the system property of the driver" or in a similar way equivalent to Chrome, this means that you need to install the driver servers in the browser. A driver server manages calls between browsers and the Selenium Wire protocol.
InternetExplorerDriver is a standalone server that implements the wired WebDrivers protocol.
Similarly, Google Chrome does not have an embedded server, so you will need a Chrome driver server to transfer your Selenium code to the browser. You can download the Chrome driver server.
Founded from here .
source share