这是我的测试数据
<tbody>
<tr>
<td>foo 1</td>
<td>first interest</td>
<td>bar 1</td>
</tr>
<tr>
<td>foo 2</td>
<td>
<p>second interest</p>
</td>
<td>bar 2</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tbody>
我想每次选择表行的第二个单元格(td[2]
)的文本,但是问题在于该文本可以在另一个子元素中(第p
段)。
当我执行该xpath //tbody/tr[1]/td[2]/p/text() | //tbody/tr[1]/td[2]/text()
时,结果正常,但是如果我对第二行//tbody/tr[2]/td[2]/p/text() | //tbody/tr[2]/td[2]/text()
执行此操作,则会得到三个文本,其中第一个和最后一个为空。如何修改xpath以便每次仅获取我感兴趣的文本。注意:也可能有一个我不想获取的空单元格。
谢谢
答案 0 :(得分:0)
尝试使用此XPath从必需的(不是空秒)表单元格中获取文本:
//tbody/tr/td[2]//text()[normalize-space()]