Как выбрать значение тд, если предыдущий тд содержит определенный текст - PullRequest
0 голосов
/ 19 марта 2019

Мне просто интересно, как выбрать string = "Last Minute", но только если предыдущий <td> в этом <tr> содержит конкретный текст, в данном случае "Предложение".Есть кто-то, кто может мне помочь?

<tr class="row m-0 mb-25">
    <td class="color_b1 font_10 d-inline-block col-12 text-uppercase">Offer</td>
    <td class="d-inline-block col-12">Last Minute</td>
</tr>

Ответы [ 2 ]

2 голосов
/ 19 марта 2019

РЕДАКТИРОВАТЬ

Как указано в комментариях, мое первоначальное предложение не учитывает позиционирование элементов.Если вы имеете дело с братьями и сестрами, решение, предлагаемое Амрендрой Кумар, является правильным.Это также может быть выполнено с помощью XPath, приведенного ниже.

//td[text()='Offer']/following-sibling::td[1]

Исходный ответ

Будет проверяться только то, что родительский узел имеет узел с текстом Offer Может быть полезным для другого

//td[text()="Last Minute" and ../td[text()='Offer']]

Это находит, что td со значением Last Minute перемещается к родителю tr, а затем проверяет наличие у брата td с текстом Offer с использованием предоставленного вами образца.Я бы посоветовал скопировать ваш html в тестер Xpath и проверить, чтобы всегда был достигнут желаемый результат, но, учитывая информацию, это должно решить вашу проблему.

1 голос
/ 19 марта 2019

Вы можете проверить с помощью позиции и ее text(), чтобы получить желаемый результат:

//td[text()="Last Minute" and preceding-sibling::*[1][self::td[.='Offer']]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...