首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在XPath中使用descendant的正确方式是什么

在XPath中使用descendant的正确方式是什么
EN

Stack Overflow用户
提问于 2016-08-08 22:43:39
回答 2查看 388关注 0票数 2

我正在尝试查找具有属性widget-name和具有title属性的后代span标记的所有DIV元素。

这就是我正在尝试的。

代码语言:javascript
复制
//div[@widget-name and descendant::span[@title]]"

这看起来几乎可以工作,但它返回的Nodes集合中缺少一个元素。

EN

回答 2

Stack Overflow用户

发布于 2016-08-08 22:46:45

不要紧。

这就是我需要的:

代码语言:javascript
复制
//div[@widget-name and descendant::span[@class='title']]

好的-把它收回去。这不是完整的答案。我现在尝试将其调整为返回all,但title不等于某些文本的情况除外:

代码语言:javascript
复制
//div[@widget-name and descendant::span[@class='title' and [text()[contains(., '{someTextToKeep}'

有人明白为什么这是无效的XPath了吗?

最终答案是:

代码语言:javascript
复制
//div[@widget-name and descendant::span[@class='title' and text()[not(contains(., 'someTextToKeep'))]]]"
票数 1
EN

Stack Overflow用户

发布于 2016-08-08 23:09:20

此XPath应返回符合以下条件的所有div

  • 有一个widget-name属性
  • 有一个后代span元素( abbreviated syntax):
    • 有一个值为span 'someTextToKeep‘的<代码>D10属性(如果要排除某些文本的跨度,请在not().

中将<

  • D13括起来

XPath:

代码语言:javascript
复制
//div[@widget-name and .//span[@class='title'][contains(.,'someTextToKeep')]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38832192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档