//Locators > driver.findElement(); - Return value of the above code is always 'WebElement'. 1. ID > findElement(By.id("idNameHere")); 2. Name > driver.findElement(By.name('valueHere')); - it's the attribute 'name' in the element. 3. Xpath ( Extended HTML path ) > //div /* It will select the all the div elements */ > //div[@attribute='value'] /* It will select the all the div elements with specific attribute and value */ > //div[@type='submit' and @value='Login'] > //div[@type='submit' and @value='Login' and @name='Login'] > //a[text()='Gmail'] > //a[text()='Text to Match'] //OR use 'contains' -- Recommended. > //a[contains(text(),'Gmail')] > //a[contains(text(),'Text to Match')] //div[@class='bd-example']//button[@type='button' and @class='btn btn-dark'] /* **We have to mention all the active classes element( if we are searching using the class attribute ) */ > //div[@class='bd-example']//input[@value='Reset'] div.bd-example > input 4. CSS selector > driver.findElement(By.cssSelector("#idHere")); > driver.findElement(By.cssSelector(".classNameHere")); 5. LinkText : only for links text > driver.findElement(By.linkText("Trouble signing in?")); //This will look for the link TEXT. Not the actual link. 6. Partial Link Text > driver.findElement(By.partialLinkText("Trouble signi")); //Only the partial string is passed.