clear
清空 input
或 textarea
的值。
在 .clear()
之后继续链式调用依赖于该元素的命令是不安全的。
info
语法
.clear()
.clear(options)
用法
正确用法
cy.get('[type="text"]').clear() // 清空文本输入框
cy.get('textarea').type('Hi!')
cy.get('textarea').clear() // 清空文本域
cy.focused().clear() // 清空当前聚焦的输入框/文本域
错误用法
cy.clear() // 错误,不能直接链式调用 'cy'
cy.get('nav').clear() // 错误,'get' 返回的不是输入框或文本域
cy.clock().clear() // 错误,'clock' 不返回 DOM 元素
参数
options (Object)
传入一个选项对象来改变 .clear()
的默认行为。
选项 | 默认值 | 描述 |
---|---|---|
animationDistanceThreshold | animationDistanceThreshold | 元素必须随时间移动超过的像素距离才能被视为动画。 |
force | false | 强制执行操作,禁用等待可操作性 |
log | true | 在命令日志中显示该命令 |
scrollBehavior | scrollBehavior | 在执行命令前将元素滚动到的视口位置 |
timeout | defaultCommandTimeout | 等待 .clear() 解析的超时时间,超过则超时 |
waitForAnimations | waitForAnimations | 是否等待元素完成动画后再执行命令。 |
生成结果
.clear()
返回与输入相同的元素。- 在
.clear()
之后继续链式调用依赖于该元素的命令是不安全的。
示例
无参数
清空输入框并输入新值
cy.get('textarea').clear()
cy.get('textarea').type('Hello, World')
注意事项
可操作性
元素必须首先达到可操作状态
.clear()
是一个 "动作命令",遵循所有可操作性的规则。
文档说明
.clear()
是 .type({selectall}{del})
的别名。
更多详情请阅读 .type()
文档。
规则
要求
.clear()
需要链式调用返回 DOM 元素的命令。.clear()
要求元素是input
或textarea
。
断言
超时设置
.clear()
可能会因等待元素达到可操作状态而超时。.clear()
可能会因等待添加的断言通过而超时。
命令日志
清空输入框并输入新值
cy.get('input[name="name"]').clear()
cy.get('input[name="name"]').type('Jane Lane')
上述命令会在命令日志中显示为:

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