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()
的默认行为。
选项 | 默认值 | 描述 |
---|---|---|
log | true | 在 命令日志 中显示该命令 |
timeout | defaultCommandTimeout | 在 超时 前等待 .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
命令时,控制台会输出以下内容:
