waitForStable
等待元素在提供的毫秒数内稳定(不动画)。如果选择器匹配至少一个在 DOM 中稳定的元素,则返回 true,否则抛出错误。如果 reverse 标志为 true,则该命令将改为返回 true,如果选择器不匹配任何稳定的元素。
注意:最好禁用动画,而不是使用此命令
用法
$(selector).waitForStable({ timeout, reverse, timeoutMsg, interval })
参数
名称 | 类型 | 详情 |
---|---|---|
options 可选 | WaitForOptions | waitForStable 选项(可选) |
options.timeout 可选 | 数字 | 以毫秒为单位的时间(默认设置基于waitforTimeout 配置值) |
options.reverse 可选 | 布尔值 | 如果为 true,则等待相反的情况(默认值:false) |
options.timeoutMsg 可选 | 字符串 | 如果存在,则覆盖默认错误消息 |
options.interval 可选 | 数字 | 检查之间的间隔(默认值:waitforInterval ) |
示例
index.html
<head>
<style>
div {
width: 200px;
height: 200px;
background-color: red;
}
#has-animation {
animation: 3s 0s alternate slidein;
}
@keyframes slidein {
from {
margin-left: 100%;
width: 300%;
}
to {
margin-left: 0%;
width: 100%;
}
}
</style>
</head>
<body>
<div #has-animation></div>
<div #has-no-animation></div>
</body>
waitForStable.js
it('should detect that element is instable and will wait for the element to become stable', async () => {
const elem = await $('#has-animation')
await elem.waitForStable({ timeout: 3000 });
});
it('should detect that element is stable and will not wait', async () => {
const elem = await $('#has-no-animation')
await elem.waitForStable();
});