Get Div Elements with Specific Class Name in Selenium Python


Selenium Python - Get Div elements with specific class name

In this tutorial, you will learn how to get the div elements with a specific class name in the document using Selenium in Python, with examples.

To get the div elements with a specific class name in Selenium, call find_elements() method on the driver object, and pass By.CLASS_NAME for the by parameters, and your class name for the value parameter.

The following code snippet returns the all div elements with the class name "red".

driver.find_elements(By.CLASS_NAME, "red")

Examples

In the following examples, we shall consider loading the HTML file at path /tmp/selenium/index-1.html . The contents of this HTML file is given below.

<html>
  <body>
    <div class="red">Apple is red.</div>
    <div class="yellow">Banana is yellow.</div>
    <div class="red">Cherry is red.</div>
  </body>
</html>

1. Get all div elements with class name = "red"

In the following program, we initialize a webdriver, navigate to a specific URL, get all the div elements with class name = "red", and print them to output.

Python Program

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

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

# Navigate to the url
driver.get('/tmp/selenium/index-1.html')

# Find all div elements with specific class name
div_elements = driver.find_elements(By.CLASS_NAME, "red")

# Iterate over the divs
for div_element in div_elements:
    print(div_element.text)

# Close the driver
driver.quit()

Output

Summary

In this Python Selenium tutorial, we have given instructions on how to find all the div elements with a given class name using find_elements() method of webdriver, with example programs.