Перейти к содержимому

Фотография

Как найти элемент, следующий за текущим на одном уровне

xPath

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Mystery_Andrew

Mystery_Andrew

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Андрей
  • Город:Москва

Отправлено 23 июня 2017 - 15:28

Дано:

<table>
    <tr>
        <td>
            <span>Данные1</span>
        </td>
        <td>
            <span>Значение1</span>
        </td>
        <td>
            <span>Данные2</span>
        </td>
        <td>
            <span>Значение2</span>
        </td>
        <td>
            <span>Данные3</span>
        </td>
        <td>
            <span>Значение3</span>
        </td>
        .
        .
        .
    </tr>
</table>

Необходимо, например, для "Данные2" получить соответствующее значение, то есть: "Значение2"

Получается, что нам надо попасть в td, следующий за тем, что мы нашли.

 

Есть идеи какой xPath может подойти под данную задачу? Известные мне механизмы это не позволяют.

Заранее спасибо за ответы!

 


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 23 июня 2017 - 21:14

создаём список

все элементы по икспафу //table/tr/td/span загружаем в список

 

идём по списку ищем Данные2

значит искомый элемент - следующий по списку, с индексом +1


  • 0

#3 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 24 июня 2017 - 11:51

С помощью xpath это можно решить так:

//td/span[text()='Данные2']/following::td[1]/span

  • 3

#4 Mystery_Andrew

Mystery_Andrew

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Андрей
  • Город:Москва

Отправлено 27 июня 2017 - 08:52

 

С помощью xpath это можно решить так:

//td/span[text()='Данные2']/following::td[1]/span

Спасибо! Работает!


  • 0



Темы с аналогичным тегами xPath

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных