Skip to main content
Cypress应用

parent

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

请注意,.parent()仅在DOM树中向上遍历一级,与.parents()命令不同。

info

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

语法

.parent()
.parent(selector)
.parent(options)
.parent(selector, options)

用法

正确用法

cy.get('header').parent() // 获取`header`的父元素

错误用法

cy.parent() // 错误,不能直接链式调用'cy'
cy.reload().parent() // 错误,'reload'不返回DOM元素

参数

selector (字符串选择器)

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

options (对象)

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

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

生成结果 了解主题管理

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

示例

无参数

获取活动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
cy.get('li.active').parent()

选择器

获取所有li元素中具有sub-nav类的父元素

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

规则

要求 了解命令链

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

断言 了解断言

超时设置 了解超时机制

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

命令日志

断言活动li的父元素

cy.get('li.active').parent().should('have.class', 'nav')

以上命令将在命令日志中显示为:

命令日志 parent

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

控制台日志 parent

另请参阅