xpath - 使用 XPATH 选择包含特定文本的行*之后*的行

标签 xpath

我无法确定这是否可能,我有一个基本表,但该表中有不同数量的行和数据。

假设表格只有一列宽和随机数量的行长来选择包含文本“COW”的行,我可以做一些非常简单的事情,例如:-

table/tbody/tr[contains(td[1],"COW")]/td[1]

但是假设这个表包含两种类型的数据,一个动物列表,以及每个动物下面的一个属性列表,所有这些都在同一列中,看起来像这样:-

COW
Horns = 2
Hooves = 4
Tail = 1
CHICKEN
Horns = 0
Hooves = 0
Tail = 1

有没有办法使用 XPATH 首先识别包含文本 COW 的行,然后选择紧随其后的行以返回文本“Horns = 2”?

干杯

最佳答案

看来你想要这样的东西:

table/tbody/tr[contains(td[1],"COW")]/following-sibling::tr[1]/td[1]

这将选择紧随包含 td(其中包含 COW)的行之后的行中的第一个 td

关于xpath - 使用 XPATH 选择包含特定文本的行*之后*的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24330336/

相关文章:

java - 元素之一的 Jsoup 选择器

sql - 如何在 FOR XML PATH 中选择不同的值?

html - XPath Selenium VBA

使用 XSLT 的 XML 父子串联

html - 为什么这个 xpath 找不到所需的元素?

python xpath 表的一些但不是所有列

Java XPath API 从文本中剥离 HTML 标签

sql-server - 使用nodes()方法分解XML

node.js - 如何将上下文 Node 添加到 puppeteer 中的 xpath 查询?

javascript - Scrapy从javascript脚本中提取数据