How to use regular expressions in a CSS locator?


We can use regular expressions in a CSS locator. We can identify elements by matching their attributes partially with the help of regular expressions. In CSS, there are multiple methods to achieve this. They are listed below −

  • Using the wild character *. This means the string contains our given text.

    Syntax− driver.find_element_by_css_selector("input[name*='sel']")

    It will search the input tag which contains the 'name' attribute containing 'sel' text.

  • Using the wild character ^. This means the string starts with our given text.

    Syntax− driver.find_element_by_css_selector("input[name^='Tut']")

    It will search the input tag which contains the 'name' attribute starting with 'Tut' text.

  • Using the wild character $. This means the string ends with our given text.

    Syntax− driver.find_element_by_css_selector("input[name$='nium']")

    It will search the input tag which contains the 'name' attribute ending with 'nium' text.

Example

Code Implementation with * wild character in css.

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://www.tutorialspoint.com/index.htm")
#to refresh the browser
driver.refresh()
# identifying the edit box with the help of * in css selector
driver. find_element_by_css_selector("input[id*='sc-i']").
send_keys("Selenium")
#to close the browser
driver.close()

Example

Code Implementation with ^ wild character in css.

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://www.tutorialspoint.com/index.htm")
#to refresh the browser
driver.refresh()
# identifying the edit box with the help of ^ in css selector
driver. find_element_by_css_selector("input[id^='gsc']").
send_keys("Selenium")
#to close the browser
driver.close()

Example

Code Implementation with $ wild character in css.

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://www.tutorialspoint.com/index.htm")
#to refresh the browser
driver.refresh()
# identifying the edit box with the help of $ in css selector
driver. find_element_by_css_selector("input[id$='id1']").
send_keys("Selenium")
#to close the browser
driver.close()

Updated on: 19-Nov-2021

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements