我想在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]
选择第3个td
的第二个tr
。
如何同时选择第一个和第三个td
的第二个tr
(使用一个xPath)?
答案 0 :(得分:1)
使用or
结合position()=1
和position()=3
来查找第1个和第3个tr
元素:
//table/tr[position()=1 or position()=3]/td[2]
请注意,您无法使用tr[1 or 3]
,因为所有这一切都会将1
和3
评估为布尔值,从而导致每个tr
都匹配,因为{{ 1}} 1 or 3
始终为true or true
。