parentsUntil
获取匹配DOM元素集合中每个DOM元素的所有祖先元素,直到但不包括提供的元素。
info
该命令的查询行为与jQuery中的
.parentsUntil()
完全一致。
语法
.parentsUntil(selector)
.parentsUntil(selector, filter)
.parentsUntil(selector, filter, options)
.parentsUntil(element)
.parentsUntil(element, filter)
.parentsUntil(element, filter, options)
用法
正确用法
cy.get('p').parentsUntil('.article') // 获取'p'元素的祖先直到'.article'
错误用法
cy.parentsUntil() // 错误,不能直接链式调用'cy'
cy.clock().parentsUntil('href') // 错误,'clock'不返回DOM元素
参数
selector (字符串选择器)
停止查找祖先元素的选择器。
element (DOM节点, jQuery对象)
停止查找祖先元素的DOM节点。
filter (字符串选择器)
用于过滤匹配DOM元素的选择器。
options (对象)
传入选项对象以改变.parentsUntil()
的默认行为。
选项 | 默认值 | 描述 |
---|---|---|
log | true | 在命令日志中显示该命令 |
timeout | defaultCommandTimeout | 等待.parentsUntil() 解析的超时时间,超过则超时 |
生成结果
.parentsUntil()
返回找到的新DOM元素。.parentsUntil()
是一个查询命令,可以安全地链式调用其他命令。
示例
选择器
查找.active
元素的所有祖先直到.nav
<ul class="nav">
<li>
<a href="#">衣服</a>
<ul class="menu">
<li>
<a href="/shirts">衬衫</a>
</li>
<li class="active">
<a href="/pants">裤子</a>
</li>
</ul>
</li>
</ul>
// 返回 [ul.menu, li]
cy.get('.active').parentsUntil('.nav')
规则
要求
.parentsUntil()
必须链式调用自返回DOM元素的命令。
断言
超时设置
.parentsUntil()
可能因等待元素 存在于DOM中而超时。.parentsUntil()
可能因等待添加的断言通过而超时。
命令日志
查找active
元素的所有祖先直到.nav
cy.get('.active').parentsUntil('.nav')
以上命令将在命令日志中显示为:

当点击命令日志中的parentsUntil
时,控制台将输出以下内容:
