Skip to main content
Cypress应用

not

从一组DOM元素中过滤出不符合条件的元素。

info

.filter() 功能相反

info

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

语法

.not(selector)
.not(selector, options)

用法

正确用法

cy.get('input').not('.required') // 获取所有不包含'.required'类的input元素

错误用法

cy.not('.icon') // 错误,不能直接在'cy'上调用
cy.clock().not() // 错误,'clock'不返回DOM元素

参数

selector (字符串选择器)

用于排除匹配DOM元素的选择器。

options (对象)

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

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

生成结果 了解主题管理

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

示例

选择器

获取不包含active类的元素

<ul>
<li>首页</li>
<li class="active">关于</li>
<li>服务</li>
<li>定价</li>
<li>联系</li>
</ul>
cy.get('ul>li').not('.active').should('have.length', 4) // 结果为true

规则

要求 了解命令链

  • .not()必须链式调用在返回DOM元素的命令之后。

断言 了解断言

超时设置 了解超时机制

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

命令日志

查找所有不是提交类型的按钮

cy.get('form').find('button').not('[type="submit"]')

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

命令日志 not

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

控制台日志 not

另请参阅