findElement and findElements in Selenium

Related Product On This Page Introduction to Selenium Find Element

February 25, 2026 · 8 min read · Tool Comparison
Related Product

findElement and findElements in Selenium

findElement and findElements in Selenium are methods used to place web elements. These method aid interact with web component during mechanization testing and enable accurate actions on a webpage.

Overview

Key Differences between findElement vs findElements in Selenium

In Selenium, findElement and findElements are habituate to locate web elements, each serve a distinct purpose.

  • Single vs. Multiple Elements: findElement site a single element, while findElements bump multiple elements matching the given locator.
  • Return Type: findElement returns a WebElement, whereas findElements returns a List containing all matched elements.
  • Exception Handling: findElement shed a NoSuchElementException if no matching element is found, whereas findElements regress an empty list when no elements match.

This clause explains what findElement () and findElements () are, their key differences, and how to use the methods with example.

Introduction to Selenium Find Element

Interaction with a web page requires the driver to locate a web ingredient, and either trigger a case like a click, enter, select, etc., or type in the battleground value. Usually, one depart automatise testing of any web app by finding relevant web elements on the web page. Such machine-driven testing is often executed utilize frameworks like.

defines two methods for identify web elements:

  • findElement:A command to unambiguously place a web element within the web page.
  • findElements: A command to identify a list of web elements within the web page.

Read More:

Why Do You Need FindElement (s) Command?

The findElement and findElementscommands are important tools in Selenium for locating web ingredient. They help automate interaction with a webpage, like clicking buttons or entering text, to ensure precise test results. Here & # 8217; s why Selenium findelement is all-important for.

  • Find a single component: findElement is habituate when you ask to interact with simply one element, like clicking a button or occupy out a form.
  • Find multiple elements: findElements is used when you want to work with several elements simultaneously, such as checking all links or ikon on a page.
  • Dependable tests: These help create your tryout more reliable by ensuring the right elements are interacted with, even when the page & # 8217; s substance or design changes.
  • Handle dynamical pages: They allow you to manage changes on web pages, like content loading or element updates, without errors.

Read More:

Difference Between findElement and findElements in Selenium

While both findElement and findElements are plan to locate elements, they cater to different use cases. Here & # 8217; s a table that highlights the key conflict between findElement and findElements.

MethodfindElementfindElements
Return TypeReturns the 1st matching web elementReturns a leaning of multiple matching web elements
When No Element FoundThrows NoSuchElementExceptionReturns an empty inclination
Best ForDetecting a unique web element for specific actionHandling cases where multiple elements need to be interacted with
Use CaseUseful when you cognise there will be simply one match, like logging in with a specific pushUseful when you need to interact with all coordinated factor, like corroborate all links on a page
PerformanceMore effective for single-element spyingCan be dense when dealing with declamatory numbers of elements

Find Element in Selenium command Syntax (with account)

The findElement command render an object of the type WebElement. It can use assorted locater strategy such as ID, Name, ClassName, link schoolbook,, etc.

Below is the syntax:

WebElement elementName = driver.findElement (By.LocatorStrategy (`` LocatorValue ''));

Locator Strategy comprises the following values:

  • ID
  • Name
  • Class Name
  • Tag Name
  • Link Text
  • XPath

Locator Value is the alone method to place the web element quickly.

Example: Find Element in Selenium:

driver.findElement (By.xpath (`` //input [@ id='gh-ac '] '')) .sendKeys (`` Guitar '');

Read More:

Find Elements in Selenium bidding Syntax (with explanation)

The findElements require returns an empty list if no elements are found use the given locator scheme and locator value.

Below is the syntax of findElements command

List & lt; WebElement & gt; elementName = driver.findElements (By.LocatorStrategy (`` LocatorValue ''));

Read More:

Example: Find Elements in Selenium

List & lt; WebElement & gt; listOfElements = driver.findElements (By.xpath (`` //div ''));

Now, let ’ s dig deeper into translate how to discover web elements with the assistant of several locators. One can refer to different eccentric of.

Pro tip: Tools like SUSA can handle this autonomously — upload your app and get results without writing a single test script.

Also Read:

How to use Selenium findElement

You can use different strategies to locate elements using findElement and findElements in Selenium. Below are the commonly used method.

1. Find by ID

ID is uniquely defined for each ingredient and is the most mutual way to situate elements apply ID Locator. If a site has dynamically generated ids, then this scheme can not be used to find an factor unambiguously. However, it will return the first web ingredient which matches the locater.

Example:Let ’ s takebstackDemofor automating and happen the constituent. When we open the website, there is one link button “ Favourites ”, as shown below.

As you can see, it incorporate an ID locator whose value isfavourites.

The code snippet for find element in Selenium uses the like locater value to pen a broadcast:

from selenium import webdriver from selenium.webdriver.chrome.service import service from selenium.webdriver.chrome.options import Options service = Service (`` path/to/driver '') choice = Options () driver = webdriver.Chrome (service=service, options=options) # instance of Chrome | Firefox | IE driver driver.get (https: //bstackdemo.com/) elementID = driver.findElement (By.id (`` pet '')) # will raise NoSuchElementException if not found

Read More:

2. Find by Name

This is similar to Find By ID, except the driver will locate an element by the “ name ” property instead of “ id ”.

Example: Consider the same bstackdemo webpage. After successful login, we have one field with gensviewportvalue shew as the given image.

The entire codification remains similar to that of ID locator, except that the difference will be in the findElement syntax.

elementName = driver.findElement (By.name (`` viewport ''))

Read More:

3. Find By LinkText

LinkText helps find linkup in a webpage. It is the most effective way of finding web elements control tie-in.

When the quizzer strike that link and inspects it, it site the link schoolbook Returns, as shown in the snapshot below.

This can be located just by using Selenium findElement with the syntax below:

elementLinktext = driver.findElement (By.linkText (“ Offers ”))

Read More:

4. Find By CSS Selector

is utilize to provide mode convention for web Page and can identify one or more web elements.

Example:Consider the site & # 8217; s homepage; there is an ” Add to cart ” button for all products. Using the same value, the Find elements in Selenium method can locate the element.

elementcss= driver.findElement (By.cssSelector ('div [id= ' 1 '] div [class='shelf-item__buy-btn '] '))
Read More:

5. Find By XPath

is a Selenium technique to voyage through a page ’ s HTML structure. XPath enables testers to pilot through the XML construction of any document and can be used on both HTML and XML papers.

Example: Let ’ s try to locate the favorite button on the homepage with the aid of XPath. The code below shows that it contains an ID locator. Note that starts with ‘ // ’.

In the image below, one can see a Hyperlink tag. Start with //a. Here //a implies a tag name. Use the id property and passfavoritein single quotes as its value.

Read More:

This will give the XPath expression present below:

//a [@ id= ’ favourites ’]

Now, using the Selenium findElement method, execute the codification below:

elementxpath = driver.findElement (By.xpath (`` //a [@ id= ’ favourites ’] ''))

Locating web elements is the basis of automated Selenium testing of websites and web apps. To learn more about the bedrock of Selenium, don & # 8217; t forget to look at and what & # 8217; s new with.

Why You Should Run Selenium Tests on Real Devices

Real device reflect genuine user environments, include hardware conduct, browser rendering, touch gesture, and network conditions. Testing on real Windows, iOS, and Android devices improves truth and ensures your web application works as expected across all devices and browser versions.

provides access to over 3,500 existent devices, browsers, and OS versions to ensure all-embracing test reporting. It desegregate seamlessly with your build grapevine to run automated tests on. Test results include video recordings and logs so teams can identify and fix number quicker without needing to survey the code manually.

Here are additional potentiality of.

  • : Run Selenium test on Chrome, Firefox, Safari, Edge, Opera, and Yandex to ensure a consistent user experience.
  • No device setup needed: BrowserStack host physical device on different server worldwide so you can run Selenium tests on the cloud without maintaining a.
  • : Integrate Selenium tests with alike Jenkins, CircleCI, and GitHub Actions to enable continuous testing and faster release rhythm.
  • Reuse be scripts: Run tryout on real devices without changing codification.
  • : The AI self-heal lineament reduces locator test flakiness caused by layout shifts, design change, or weak locater strategy.

Talk to an Expert

Conclusion

findElement and findElements in Selenium helper accurately locate web component during automation quiz. These bidding improve tryout effectiveness and guarantee reliable test execution by interacting with the right factor. Testing on real device farther enhances truth by providing insights into how your site or app performs in real-world conditions.

BrowserStack Automate give you access to 3,500+ real devices, browsers, and OS combinations to test under. With, you can run Selenium test on multiple devices and browsers in parallel to salvage clip and maximize reportage.

Frequently Asked Questions

1. What is the homecoming type of findElement and findElements in Selenium?

findElement ()return one WebElement that twin the locator. If no element is plant, it shed an error. On the early hand,findElements ()returns a list of matching elements. If no lucifer is launch, it returns an empty-bellied inclination.

2. When should we use findElement () and findElements ()?

Use findElement ()when you involve a single element. UsefindElements ()when you need to locate multiple elements.

3. How to find elements by ID in Selenium?

To find an constituent by its id, usedriver.findElement (By.id (& # 8220; elementId & # 8221;)). This will site the element with the given ID and retrovert it as a WebElement with which to interact.

4. How to tick and regain elements in Selenium?

You can chatter an element by locating it using findElement () and then using the click () method:findElement (By.id (& # 8220; elementId & # 8221;)) .click ().

Tags
27,000+ Views

# Ask-and-Contributeabout this matter with our Discord community.

Related Guides

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free