Skip to main content
Cypress应用

nextUntil

获取匹配DOM元素集合中每个DOM元素的所有后续兄弟元素,直到但不包括提供的元素。

info

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

语法

.nextUntil(selector)
.nextUntil(selector, filter)
.nextUntil(selector, filter, options)
.nextUntil(element)
.nextUntil(element, filter)
.nextUntil(element, filter, options)

用法

正确用法

cy.get('div').nextUntil('.warning') // 获取'div'之后直到'.warning'之前的兄弟元素

错误用法

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

参数

selector (字符串选择器)

停止查找后续兄弟元素的选择器。

element (DOM节点, jQuery对象)

停止查找后续兄弟元素的DOM节点。

filter (字符串选择器)

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

options (对象)

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

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

生成结果 了解主题管理

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

示例

选择器

查找#veggies之后直到#nuts之前的所有兄弟元素

<ul>
<li id="fruits" class="header">水果</li>
<li>苹果</li>
<li>橙子</li>
<li>香蕉</li>
<li id="veggies" class="header">蔬菜</li>
<li>黄瓜</li>
<li>胡萝卜</li>
<li>玉米</li>
<li id="nuts" class="header">坚果</li>
<li>核桃</li>
<li>腰果</li>
<li>杏仁</li>
</ul>
//返回[<li>黄瓜</li>, <li>胡萝卜</li>, <li>玉米</li>]
cy.get('#veggies').nextUntil('#nuts')

规则

要求 了解命令链

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

断言 了解断言

超时设置 了解超时机制

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

命令日志

查找#veggies之后直到#nuts之前的所有兄弟元素

cy.get('#veggies').nextUntil('#nuts')

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

命令日志 nextUntil

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

控制台日志 nextUntil

另请参阅