Open In App

find_elements_by_name() driver method - Selenium Python

Last Updated : 10 Dec, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

When working with Selenium in Python, locating elements on a webpage is one of the most essential tasks. One such locator strategy is find_elements_by_name(), which allows you to fetch all elements that share the same name attribute. It returns a list of WebElement objects, which you can loop through or access individually.

Note: The method find_elements_by_name() is deprecated in Selenium 4+, refer to find_element(By.Name) driver method for updated method.

Syntax

driver.find_elements_by_name("name")

  • Returns an empty list if no element is found.
  • Returns multiple elements if more than one matches.

Example: For instance, consider this page source:

html
<html>
 <body>
  <form id="loginForm">
   <input name="1" type="text" />
   <input name="1" type="password" />
   <input name="1" type="submit" value="Login" />
  </form>
 </body>
<html>

Now after you have created a driver, you can grab an element using -

login_form = driver.find_elements_by_name('1')

Let's try to practically implement this method and get a element instance for "https://www.geeksforgeeks.org/". Let's try to grab search form input using its name "articleTitle". Create a file called run.py to demonstrate find_elements_by_name method:

Python
from selenium import webdriver

driver = webdriver.Firefox()
keyword = "geeksforgeeks"

driver.get("https://www.geeksforgeeks.org/")
elements = driver.find_elements_by_name("articleTitle")
print(element)

Output

First, it will open firefox window with geeksforgeeks, and then select the element and print it on terminal as show below.

Browser Output:

find_element-driver-method-Selenium-Python

Terminal Output:

elements-list-driver-methods-Selenium-Python

Explore