WebDriver for Java Selenium provides these Java classes for my use: WebDriver -> this my "virtual" browser I use the to open a URL to find a spot on the page to look at the page title etc WebElement -> this is specific spot on the page, located via the WebDriver, I use a WebElement to click to enter data in a form to dropdown a listbox etc By -> this is one of the Locators provied by Selenium, I use to as part of the "Find a spot on the page" I can find By Id By Tag By Name By CSS By XPath etc ----------------------------------------------- the WebDriver object is the link between my Java code the Browser for this link to work I MUST HAVE a browser driver (like Java database has to have a database driver) I have another problem, everytime, my Browser get updated, I need to get a new driver version to fix this issue, we use a Driver Manager object (WebDriverManager) that auto installs the correct verion of the driver for my Browser on-demand OO Best Practices say, if you are going to run the same code over and over again, your should put it into a class and call it that way if you need to change thing, there is only one place to make the changes ------------------------------------------------------- When I create a WebDriver object for Chome/FireFox/Edge/etc I need to set browser options, including security options