1

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?

1
  • 2
    Next time, please post text, formatted as code, not an image of your markup. Thanks. Commented Feb 3, 2022 at 16:54

3 Answers 3

3
//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?

Sign up to request clarification or add additional context in comments.

1 Comment

Nice answer. Readers shouldn't miss the excellent supporting links too.
2

Change

//option[value='0']

to

//option[@value='0']

because value is an attribute, not an element.

Comments

1

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']

2 Comments

I thought that in order to search for a child i should use /
@Eitanos30: AakashM (+1) (and all answerers, in fact) have explained that value selects a child element; @value selects an attribute. Your markup has value as an attribute, so use @.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.