2015-04-16 1 views
4

Я пытаюсь извлечь некоторую информацию с html-страницы. Рассмотрим выпадающий список выбора ниже:xpath для выбора нескольких элементов из раскрывающегося списка

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

Он имеет 3 значения, «Цвет», «УГОЛЬ» и «BLACK».

Теперь, если просмотреть исходный код и скопировать XPATH из «УГЛЯ» с помощью Google Chrome, я получаю

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

Однако, я хочу, чтобы извлечь информацию, как «УГЛЯ» и «черный». Я хочу, чтобы это применялось на нескольких страницах, где выпадающий список мог содержать больше или меньше количества элементов. Тем не менее, я всегда хочу пропустить первый элемент, который будет «Цвет». Как это сделать?

ответ

5

Здесь вы ..

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

Вы можете пропустить первый параметр, это позиция по этому

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

Я надеюсь, что это может помочь

+0

работал отлично! благодаря –