How to find Elements by Class Name using Selenium?

Find Elements by Class Name

To find HTML Elements by class name attribute using Selenium in Python, call find_elements() method, pass By.CLASS_NAME as the first argument, and the class name (of the HTML Elements we need to find) as the second argument.

find_elements(By.CLASS_NAME, "class_name_value")

find_elements() method returns all the HTML Elements that match the given class name as a list.

If there is no elements by given class name, find_elements() function returns an empty list.

Example

Consider the HTML document at the URL https://pythonexamples.org/tmp/selenium/index-58.html, with the following HTML content.

HTML Webpage

<html>
 <body>
  <p>Paragraph 1</p>
  <div class="flat-button">Button 1</div>
  <div class="flat-button">Button 2</div>
  <div class="card">Card 1</div>
  <div class="card">Card 2</div>
 </body>
</html>
Copy

In the following program, we will find all the HTML elements whose class name is 'flat-button', using find_elements() method, and print those elements to the console.

Python Program (Selenium)

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By

# Setup chrome driver
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

# Navigate to the url
driver.get('https://pythonexamples.org/tmp/selenium/index-58.html')

# Find elements whose Class Name = "flat-button"
my_elements = driver.find_elements(By.CLASS_NAME, 'flat-button')
for element in my_elements:
    print(element.get_attribute("outerHTML"))

# Close the driver
driver.quit()

Output

<div class="flat-button">Button 1</div>
<div class="flat-button">Button 2</div>

Summary

In this Python Selenium tutorial, we learned how to find all the elements by class name, present in the webpage, using Selenium.

Related Tutorials

Quiz on Selenium

Q1. What is Selenium Python used for?

Not answered

Q2. Which of the following is not a popular web driver used in Selenium Python?

Not answered

Q3. What is the method used to find web elements in Selenium Python?

Not answered

Q4. What is the method used to navigate back to the previous page in Selenium Python?

Not answered

Q5. Which of the following is not a commonly used assertion method in Selenium Python?

Not answered
Code copied to clipboard successfully 👍