首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种使用XPath选择特定父级的方法?

是否有一种使用XPath选择特定父级的方法?
EN

Stack Overflow用户
提问于 2022-03-04 04:22:59
回答 1查看 244关注 0票数 2

从我迄今所做的阅读来看,我认为这是不可能的,但偶然的是,下面是这样说的:

考虑到以下过度简化的HTML (基于从CMS生成的HTML,所以对它没有真正的控制)

代码语言:javascript
复制
<div class="random">
  <div class="random"> <-- This is the one I want
    <div class="random">
      <div class="random">
        <span class="random">
          <input id="experiment-randomnumbers-textinput-2">
        </span>
      </div>
    </div>
  </div>
</div>

我已经将以下XPath表达式合并到一起,以获得我想要的节点:

代码语言:javascript
复制
//input[contains(@id,'experiments') and contains(@id,'textinput-2')]/parent::span/parent::div/parent::div/parent::div

问题是,有没有一种更整洁的方法来做到这一点?我想这不能用CSS来完成吗?

干杯

抢夺

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-04 04:45:23

BASE_XPATH = //input[contains(@id,'experiments') and contains(@id,'textinput-2')]

然后,如果目标是四个祖先,并且您不关心祖先元素的名称:

代码语言:javascript
复制
BASE_XPATH/../../../..

如果在祖先中有一个独特的条件(在标记的特定部分):

代码语言:javascript
复制
BASE_XPATH/ancestor::*[ UNIQUE_PREDICATE ]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71346595

复制
相关文章

相似问题

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