Skip to main content
Cypress应用

clear

清空 inputtextarea 的值。

.clear() 之后继续链式调用依赖于该元素的命令是不安全的

语法

.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() 的默认行为。

选项默认值描述
animationDistanceThresholdanimationDistanceThreshold元素必须随时间移动超过的像素距离才能被视为动画
forcefalse强制执行操作,禁用等待可操作性
logtrue命令日志中显示该命令
scrollBehaviorscrollBehavior在执行命令前将元素滚动到的视口位置
timeoutdefaultCommandTimeout等待 .clear() 解析的超时时间,超过则超时
waitForAnimationswaitForAnimations是否等待元素完成动画后再执行命令。

生成结果 了解主题管理

  • .clear() 返回与输入相同的元素。
  • .clear() 之后继续链式调用依赖于该元素的命令是不安全的

示例

无参数

清空输入框并输入新值

cy.get('textarea').clear()
cy.get('textarea').type('Hello, World')

注意事项

可操作性

元素必须首先达到可操作状态

.clear() 是一个 "动作命令",遵循所有可操作性的规则。

文档说明

.clear().type({selectall}{del}) 的别名。

更多详情请阅读 .type() 文档。

规则

要求 了解命令链

  • .clear() 需要链式调用返回 DOM 元素的命令。
  • .clear() 要求元素是 inputtextarea

断言 了解断言

  • .clear() 会自动等待元素达到可操作状态
  • .clear() 会自动重试直到所有链式断言通过

超时设置 了解超时机制

  • .clear() 可能会因等待元素达到可操作状态而超时。
  • .clear() 可能会因等待添加的断言通过而超时。

命令日志

清空输入框并输入新值

cy.get('input[name="name"]').clear()
cy.get('input[name="name"]').type('Jane Lane')

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

Command log for clear

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

console.log for clear

另请参阅