waitForEnabled
等待元素(通过 CSS 选择器选择)在提供的毫秒数内处于(禁/启)用状态。如果给定的选择器查询到多个元素,则如果至少有一个元素处于(禁/启)用状态,则返回 true。
信息
与其他元素命令相反,WebdriverIO 不会等待元素存在才能执行此命令。
用法
$(selector).waitForEnabled({ timeout, reverse, timeoutMsg, interval })
参数
名称 | 类型 | 详情 |
---|---|---|
选项 可选 | WaitForOptions | waitForEnabled 选项(可选) |
options.timeout 可选 | 数字 | 以毫秒为单位的时间(默认根据waitforTimeout 配置值设置) |
options.reverse 可选 | 布尔值 | 如果为 true,则等待相反的情况(默认:false) |
options.timeoutMsg 可选 | 字符串 | 如果存在,则覆盖默认错误消息 |
options.interval 可选 | 数字 | 检查之间的间隔(默认:waitforInterval ) |
示例
index.html
<input type="text" id="username" value="foobar" disabled="disabled"></input>
<script type="text/javascript">
setTimeout(() => {
document.getElementById('username').disabled = false
}, 2000);
</script>
waitForEnabledExample.js
it('should detect when element is enabled', async () => {
await $('#username').waitForEnabled({ timeout: 3000 });
});
it('should detect when element is disabled', async () => {
elem = await $('#username');
await elem.waitForEnabled({ reverse: true })
});