Skip to main content
Cypress应用

parents

获取一组 DOM 元素的父级 DOM 元素。

请注意,.parents() 会向上遍历 DOM 树的多个层级,这与仅向上遍历单个层级的 .parent() 命令不同。

info

此命令的查询行为与 jQuery 中的 .parents() 完全一致。

语法

.parents()
.parents(selector)
.parents(options)
.parents(selector, options)

用法

正确用法

cy.get('aside').parents() // 获取 aside 的父元素

错误用法

cy.parents() // 错误,不能从 'cy' 链式调用
cy.clock().parents() // 错误,'clock' 不返回 DOM 元素

参数

selector (字符串选择器)

用于过滤匹配 DOM 元素的选择器。

options (对象)

传入一个选项对象以改变 .parents() 的默认行为。

选项默认值描述
logtrue命令日志 中显示该命令
timeoutdefaultCommandTimeout超时 前等待 .parents() 解析的时间

生成结果 了解主题管理

  • .parents() 返回找到的新 DOM 元素。
  • .parents() 是一个查询命令,可以安全地链式调用其他命令。

示例

无参数

获取活动 li 的父元素

<ul class="main-nav">
<li>概述</li>
<li>
入门指南
<ul class="sub-nav">
<li>安装</li>
<li class="active">构建</li>
<li>测试</li>
</ul>
</li>
</ul>
// 返回 [.sub-nav, li, .main-nav]
cy.get('li.active').parents()

选择器

获取活动 li 的带有 main-nav 类的父元素

// 返回 [.main-nav]
cy.get('li.active').parents('.main-nav')

规则

要求 了解命令链

  • .parents() 必须链式调用自返回 DOM 元素的命令。

断言 了解断言

超时设置 了解超时机制

  • .parents() 可能会因等待元素 存在于 DOM 中 而超时。
  • .parents() 可能会因等待添加的断言通过而超时。

命令日志

获取活动 li 的父元素

cy.get('li.active').parents()
命令日志 parents

在命令日志中点击 parents 命令时,控制台会输出以下内容:

控制台日志 parents

另请参阅