Я хочу выбрать несколько элементов (зная там индексы) с предикатами в xPath.
У меня есть этот HTML файл:
<body>
<table>
<tr> <!-- tr 1 -->
<td>element 1.1</td>
<td>element 1.2</td>
</tr>
<tr> <!-- tr 2 -->
<td>element 2.1</td>
<td>element 2.2</td>
</tr>
<tr> <!-- tr 3 -->
<td>element 3.1</td>
<td>element 3.2</td>
</tr>
</table>
</body>
Я использую: //table/tr[3]/td[2]
для выбора второго td
третьего tr
.
как насчет выбора второго td
первого и третьего tr
сразу (с одним xPath)?
Используйте or
чтобы совместить оба position()=1
и position()=3
чтобы найти как первый, так и третий tr
элемента:
//table/tr[position()=1 or position()=3]/td[2]
Обратите внимание: вы не можете использовать tr[1 or 3]
потому что все, что делает, оценивает 1
и 3
как логические значения, что приводит к соответствию для каждого tr
потому что 1 or 3
true or true
всегда true
.