Mandeep Singh
Mandeep Singh

Reputation: 8234

xpath for selecting multiple elements from drop down

I am trying to extract some information from an html page. Consider the drop down select list below:

 <select name="ctl00$MainContent$ddlColor" onchange="chageColor(this);setTimeout('__doPostBack(\'ctl00$MainContent$ddlColor\',\'\')', 0)" id="ctl00_MainContent_ddlColor" class="input" style="width:175px;">
        <option selected="selected" value="">Color</option>
        <option value="00114743-03|large|0|03">CHARCOAL</option>
        <option value="00114743-04|large|2|04">BLACK</option>

    </select>

It has 3 values, "Color", "CHARCOAL" and "BLACK".

Now if I view the source and copy XPATH of "CHARCOAL" using google chrome, I get

//*[@id="ctl00_MainContent_ddlColor"]/option[2]

However, I want to extract the information as "CHARCOAL" and "BLACK". I want this to be applied on multiple pages where the drop down list might contain more or less number of elements. However, I always want to skip the first element, which will be "Color". How to do this ?

Upvotes: 4

Views: 668

Answers (1)

Muhammad Hamed
Muhammad Hamed

Reputation: 1239

Here you are ..

//select/option[not(contains(., 'Color'))]/text()

You can skip the first option by it's position by this

//select/option[position() &gt; 1]/text()

I hope this could help

Upvotes: 5

Related Questions