Выберите ячейку по столбцу и строку по xpath - PullRequest
0 голосов
/ 15 ноября 2018

У меня следующая структура таблицы:

<table>
    <thead>
        <tr>
            <th>User Role</th>
            <th>Inactive</th>
            <th>Admin Area</th>
            <th>Need Confirm</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Admin</td>
            <td>False</td>
            <td>True</td>
            <td>False</td>
        </tr>
        <tr>
            <td>Member</td>
            <td>False</td>
            <td>False</td>
            <td>True</td>
        </tr>
    </tbody>
</table>

Как выбрать ячейку в соответствии с именем столбца и строкой из первого столбца (например, выбрать Admin Area значение ячейки для Member)?

1 Ответ

0 голосов
/ 15 ноября 2018

Если вы можете гарантировать, что User Role является первым столбцом, то будет работать следующее:

//td[count(//th[text()="Admin Area"]/preceding-sibling::*)+1][../td[1]="Member"]

Пояснение:

  • count(//th[text()="Admin Area"]/preceding-sibling::*)+1 дает индекс «Административная область» среди заголовков таблицы, в данном случае 3
  • //td[3] выделяет все td ячейки в третьем столбце
  • //[../td[1]="Member"] дополнительно уточняет это, выбирая только ячейки td, чей брат в первом столбце содержит "Member"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...