xPath элемента, когда HTML идентичен

0

У меня есть эта отметка:

<tr>
    <td>
        <span class="text">Bedford, Franklin Court</span>
    </td>
</tr>

<tr> 
    <td> 
            <span> First Row</span> 
    </td> 
</tr>

<tr>
    <td>
        <span class="text">Jo Ghartey_Officer4)</span>
    </td>
</tr>


<tr>
    <td>
        <span class="text">Jo Ghartey_Oficer4)</span>
    </td>
</tr>

Я пытаюсь найти xpath из FIRST span, который содержит Jo Ghartey. Я пробовал использовать следующую сестру после пролета, содержащего "Бедфорд", однако я не всегда могу гарантировать, что <tr> <td> <span> всегда будет вторым <tr> после Bedoford <tr>. Поэтому, когда я пытаюсь использовать xpath=//span[contains(,.'Bedford')]/../../following-sibling::tr[2]/td/span этот элемент не обнаруживает проблемы. Но если есть другой <tr> <td> <span> между Бедфордом и Джо Гарти, тогда мне придется изменить индекс. Я знаю, что я всегда буду искать первый пролет, содержащий Джо Гарти. Я надеюсь в этом есть смысл...

Теги:
xpath
nested

1 ответ

2
Лучший ответ

Если вы используете (//span[contains(., 'Jo Ghartey')])[1] вы выбираете первый элемент span, строковые значения которого содержат строку Jo Ghartey.

  • 0
    ОП может потребоваться принять это, чтобы найти нужного following-sibling так что поиск первого потомка <span> с атрибутом class = "text" может быть ближе к тому, что ищет ОП. +1 тем не менее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню