XPath来分别选择表单元格中的两个值


<td _ngcontent-wp class="align-middle">
"4.79728"
<small _ngcontent-wp class="neo_red_dark"> -0.08% </small>
</td>

我的XPath如下:

(//table[@class="table"]/tbody/tr/td[3])[1]

它是有效的,但它同时获得两个值(4.79728 -0.08%(。我怎样才能分别得到它们?

您可以使用获取空间之前和之后的值

CCD_ 2和CCD_ 3

或者更改XPath以针对tdtext()子代,而不是td本身(它正在生成计算的文本值(。

为了选择"4.79728":

(//table[@class="table"]/tbody/tr/td[3])[1]/text()

为了选择-0.08%:

(//table[@class="table"]/tbody/tr/td[3])[1]/small/text()

您应该用XPath问题指出您使用的XPath版本。

如果是1.0版本,请记住,您可以返回的数据类型集非常有限:单个字符串、数字、布尔值或节点集。有些API只允许您返回一个节点集。

当前查询返回的节点集包含一个节点,即td元素,其字符串值包含其中所有文本的串联。通过将//text()附加到查询中,可以返回一个单独包含所有文本节点的节点集。但当然,这两个数字并不总是在单独的文本节点中。

最新更新