Locators in Selenium - A Comprehensive Guide
Updated on 26th Mar, 24 9.2K Views

Selenium provides various methods to locate and interact with web elements on a webpage. These methods are known as Locators. In this blog, we will discuss Locators in Selenium, their types, and their importance in testing.

Watch the video below to learn Selenium from scratch

What are Locators?

Locators in Selenium are methods used to identify and locate web elements on a web page. They are essential to automation testing as they help automate discovery and interaction with web elements. 

What are Locators Used For?

Locators are used to identify and navigate web elements on a webpage. Once an element is found, we can perform various actions like clicking, typing, selecting, etc. Locators also verify an element’s presence, absence, or visibility on a webpage.

Locators in Selenium are a powerful tool for automation testing and are an essential part of any testing strategy. Understanding Locators in Selenium is crucial for automation testing, as it can help save time and effort in the testing process. Using Locators, we can automate repetitive and time-consuming tasks, and also, ensure our web application functions correctly. 

Want to learn Selenium? Then do check out Selenium Certification Course.

What are Locators in Testing?

In testing, Locators are used to automate the testing process. Automation testing is using tools to automate repetitive and time-consuming tasks. Locators in Selenium help automate the process of locating and interacting with web elements on a webpage.

Want to learn about Selenium with Python? Check out our Selenium Python Tutorial blog.

Different Types of Locators in Selenium

Different Types of Locators in Selenium

Selenium provides eight types of locators, but what are the names of those 8 locators?

The locators are as follows:  ID, Name, Class Name, Tag Name, Link Text, Partial Link Text, CSS Selector, and XPath.  Now, let’s examine each of them in detail.

ID Locator

  • Used to find an element using its unique ID.
  • The fastest and most reliable way to locate an element.
  • Ideal when the ID of an element is unique on a webpage.

Name Locator

  • Used to find an element using its name attribute.
  • Name attribute may not be unique, but it is commonly used to identify elements.

Class Name Locator

  • Used to find an element using its class name.
  • Multiple elements can have the same class name, but it is still a reliable way to locate elements.

Also, check out the blog on Select Class in Selenium.

Tag Name Locator

  • Used to find an element using its HTML tag name.
  • Useful when only one element has a particular tag name.

Get 100% Hike!

Master Most in Demand Skills Now !

  • Used to find an anchor element (a tag) with a specific link text.
  • Used to identify links on a webpage.
  • Used to find an anchor element (a tag) with partial link text.
  • Used to identify links with a familiar pattern.

CSS Selector Locator

  • Used to identify elements using CSS selectors.
  • CSS selectors are used to define the style of elements on a webpage.

XPath Locator

  • Used to identify elements using XPath expressions.
  • XPath is a language used to navigate through XML documents.

Also, learn about page factory in Selenium.

Locators in Selenium Webdriver

Selenium Webdriver is a tool that automates web applications. It provides various methods to locate and interact with web elements on a webpage. These methods are based on the types of locators we discussed above. Some of the examples of these locators are:

  • ID: Matches by element ID. For example <button id=”submit”>. 
    Usage: driver.find_element(By.ID, “submit”)
  • Class Name: Matches by element class name. For example <button class=”btn”>.
    Usage: driver.find_element(By.CLASS_NAME, “btn”)
  • Name: Matches by element name. For example <button name=”button1″>. 
    Usage: driver.find_element(By.NAME, “button1”)
  • Link Text: Matches anchor element by exact text. For example <a href=”https://example.com”>Click here</a>. 
    Usage: driver.find_element(By.LINK_TEXT, “Click here”)
  • Partial Link Text: Matches anchor element by partial text. For example <a href=”https://example.com”>Click here to register</a>.
    Usage: driver.find_element(By.PARTIAL_LINK_TEXT, “here to”)
  • Tag Name: Matches by HTML tag name. For example <button> 
    Usage: driver.find_element(By.TAG_NAME, “button”)
  • CSS Selector: Matches by CSS selector. For example <button class=”btn primary”> 
    Usage: driver.find_element(By.CSS_SELECTOR, “.btn.primary”)
  • XPath: Matches by XPath query. For example //button[@class=’btn primary’]. 
    Usage: driver.find_element(By.XPATH, “//button[@class=’btn primary’]”)

Preparing for a Job Interview? Check out Selenium Interview Questions to crack them!

Advantages of  Locators in Selenium WebDriver

Advantages of  Locators in Selenium WebDriver

There are several advantages of using locators in Selenium WebDriver:

Locators are stable

Reliable locators like ID, class name, and CSS selectors will continue to locate the same elements, even if the page HTML changes slightly. This makes tests less brittle.

Locators improve reusability

Once we define a locator for an element, we can reuse that locator every time we want to find that element. This avoids duplication in test scripts.

We can use multiple locators for the same element

This adds redundancy and makes tests more robust. If one locator fails for some reason, the test can continue using another locator for the same element. 

Don’t miss out Automation Testing Interview Questions. Crack your interviews with ease.

Locators abstract away the underlying HTML

Tests without having full knowledge of the page HTML structure and markup. They simply use locators to find elements without worrying about the HTML intricacies. This makes tests less prone to breaking due to minor HTML changes.

Different locators suit different needs

ID and class name locators are fast and stable but require well-defined element attributes. XPath is flexible but can be slow. CSS is in the middle. We can choose the appropriate locator based on the element we want to find.

Locators work across all browsers and platforms

Since locators interact with the page Document Object Model  (DOM) , they function consistently regardless of the underlying browser, operating system, or other variables.

Thinking of comprehensive learning of selenium concepts? Check out the Selenium tutorial.

Conclusion

Mastering locators is key to building efficient and robust test automation frameworks with Selenium. With a firm grasp of locators, you will be able to automate interactions with buttons, links, text boxes, drop-downs, and any other elements on a web page. 

While the page content and UI may change over time, locators continue to provide a steady way for tests to navigate the web application confidently. They serve as an essential abstraction layer between the volatile world of web pages, and the structured world of automated checks.

Career Transition

Got a Dream Job of 65 LPA in Australia | Mainframe to Automation Testing Career Transition
Selenium Java Course - Intellipaat Reviews | Career Transition | Job Promotion with 100% Salary Hike
Testing To Software Developer | Got Job With 100% Salary Hike | Intellipaat Career Transition
Selenium Course - Intellipaat Reviews | Career Transition | Got New Job With 300% Salary Hike
Intellipaat Reviews - Selenium Course | Career Transition | Got New Job With 150% Salary Hike
Intellipaat Reviews - Selenium Course | Career Transition | Manual to Automation Testing Lead

Overall, spend some time learning and practicing with the various locators available in the Selenium library. A strong foundation in locators will make you a more productive and capable user of Selenium WebDriver. With locators by your side, you can build automated tests for any web application, and ensure it remains bug-free.

So get out there and start locating! Your new skills will serve you well on any Selenium project.

Still, in doubt, drop your queries at our Selenium Community to get them resolved!

Course Schedule

Name Date Details
Testing Courses 30 Mar 2024(Sat-Sun) Weekend Batch
View Details
Testing Courses 06 Apr 2024(Sat-Sun) Weekend Batch
View Details
Testing Courses 13 Apr 2024(Sat-Sun) Weekend Batch
View Details

Speak to our course Advisor Now !

Associated Courses

Subscribe to our newsletter

Signup for our weekly newsletter to get the latest news, updates and amazing offers delivered directly in your inbox.