首页 > 解决方案 > 为了从网页中提取文本,XPath 被精确到一个?

问题描述

我有一些 Xpath 如下:

//*[@id="904735f0-bb82-11ea-a473-6d0f51688222"]/div/p

//*[@id="729c0860-a71d-11ea-b994-53a3e91a35c2"]/div/div/div[1]/div/p

//*[@id="2555ab30-bb84-11ea-9e8b-277e7f6208b2"]/div/div/div[1]/div/p

//*[@id="7e100250-a71d-11ea-b994-53a3e91a35c2"]/div/div/div[1]/div/p

//*[@id="811727d0-a71d-11ea-b994-53a3e91a35c2"]/div/div/div[1]/div/p

以上所有内容都用于从单个网页中提取文本,因为文本位于不同的视口,但我希望找到一个单一的 xpath 来为所有这些提取文本。是否可以使用 'and' 和多个 ID 通过一个 xpath 提取所有内容?

任何其他建议将不胜感激。

标签: xpath

解决方案


您可以将or运算符用于最后四个。
和 merge-nodes 运算符|添加第一个。

因此,要在一个中选择所有 5 个表达式,请使用以下表达式:

//*[@id="904735f0-bb82-11ea-a473-6d0f51688222"]/div/p | //*[@id="729c0860-a71d-11ea-b994-53a3e91a35c2" or @id="2555ab30-bb84-11ea-9e8b-277e7f6208b2" or @id="7e100250-a71d-11ea-b994-53a3e91a35c2" or @id="811727d0-a71d-11ea-b994-53a3e91a35c2"]/div/div/div[1]/div/p

推荐阅读