Open In App

find_elements_by_css_selector() driver method - Selenium Python

Last Updated : 14 Apr, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report
Selenium's Python Module is built to perform automated testing with Python. Selenium Python bindings provides a simple API to write functional/acceptance tests using Selenium WebDriver. After you have installed selenium and checked out - Navigating links using get method, you might want to play more with Selenium Python. After one has opened a page using selenium such as geeksforgeeks, one might want to click some buttons automatically or fill a form automatically or any such automated task. This article revolves around how to grab or locate elements in a webpage using locating strategies of Selenium Web Driver. More specifically, find_elements_by_css_selector() is discussed in this article. This method returns a list with type of elements specified. To grab a single first element, checkout - find_element_by_css_selector() driver method – Selenium Python Syntax -
driver.find_elements_by_css_selector("css selector")
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_css_selector('#loginForm')

How to use driver.find_elements_by_css_selector() method in Selenium?

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 class name "gsc-input". Create a file called run.py to demonstrate find_elements_by_css_selector method - Python3 1==
# Python program to demonstrate
# selenium

# import webdriver
from selenium import webdriver

# create webdriver object
driver = webdriver.Firefox()

# enter keyword to search
keyword = "geeksforgeeks"

# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")

# get elements
elements = driver.find_elements_by_css_selector(".gsc-input")

# print complete elements list
print(element)
Now run using -
Python run.py
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

Next Article
Practice Tags :

Similar Reads