find_element_by_css_selector() driver method – Selenium Python
Selenium’s Python Module is built to perform automated testing with Python. Selenium Python bindings provide a simple API to write functional/acceptance tests using Selenium WebDriver. After you have installed selenium and checked out – Navigating links using the 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_element_by_css_selector() is discussed in this article. With this strategy, the first element with the matching CSS selector will be returned. If no element has a matching CSS selector, a NoSuchElementException will be raised.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course
For instance, consider this page source:
Now after you have created a driver, you can grab an element using –
content = driver.find_element_by_css_selector('p.content')
How to use driver.find_element_by_css_selector() method in Selenium?
Let’s try to practically implement this method and get an element instance for “https://www.geeksforgeeks.org/”. Let’s try to grab search form input using its id “GSC-i-id2”.
Create a file called run.py to demonstrate find_element_by_css_selector method –
Now run using –
First, it will open the firefox window with geeksforgeeks, and then select the element and print it on the terminal as shown below.
Browser Output –
Terminal Output –
More locators for locating single elements
|find_element_by_id||The first element with the id attribute value matching the location will be returned.|
|find_element_by_name||The first element with the name attribute value matching the location will be returned.|
|find_element_by_xpath||The first element with the XPath syntax matching the location will be returned.|
|find_element_by_link_text||The first element with the link text value matching the location will be returned.|
|find_element_by_partial_link_text||The first element with the partial link text value matching the location will be returned.|
|find_element_by_tag_name||The first element with the given tag name will be returned.|
|find_element_by_class_name||the first element with the matching class attribute name will be returned.|
|find_element_by_css_selector||The first element with the matching CSS selector will be returned.|