How to find element by part of its id name in selenium with python

To find the element which you have located with:

sixth_item = driver.find_element_by_id("coption5")

To locate this element only by using coption you can use can use either of the following Locator Strategies:

  • Using XPATH and starts-with():

    sixth_item = driver.find_element_by_xpath("//*[starts-with(@id, 'coption')]")
    
  • Using XPATH and contains():

    sixth_item = driver.find_element_by_xpath("//*[contains(@id, 'coption')]")
    
  • Using CSS_SELECTOR and ^ (wildcard of starts-with):

    sixth_item = driver.find_element_by_css_selector("[id^='coption']")
    
  • Using CSS_SELECTOR and * (wildcard of contains):

    sixth_item = driver.find_element_by_css_selector("[id*='coption']")
    

Reference

You can find a detailed discussion on dynamic CssSelectors in:

Leave a Comment