Home > Software engineering >  XPath for element by attribute value in Selenium?
XPath for element by attribute value in Selenium?

Time:02-04

For the following HTML:

enter image description here

Why does the following XPath doesn't work:

//option[value='0']

Is it related to value or to option element?

CodePudding user response:

Change

//option[value='0']

to

//option[@value='0']

because value is an attribute, not an element.

CodePudding user response:

//option[value='0']

is not a valid selector incase you are attempting to identify/select the respective <option> element using Selenium.


Solution

You can use either of the Locator Strategies:

  • xpath:

    //option[@value='0']
    
  • css_selector:

    option[value='0']
    

tl; dr

Why should I ever use CSS selectors as opposed to XPath for automated testing?

CodePudding user response:

Your current xpath is searching for an option element with a child element value which in turn has contents 0. What you actually want to find is an option element with an attribute value with value 0:

//option[@value='0']
  •  Tags:  
  • Related