first
获取一组DOM元素中的第一个DOM元素。
info
该命令的查询行为与jQuery中的
.first()
完全一致。
语法
.first()
.first(options)
用法
正确用法
cy.get('nav a').first() // 获取导航中的第一个链接
错误用法
cy.first() // 错误,不能直接链式调用'cy'
cy.getCookies().first() // 错误,'getCookies'不返回DOM元素
参数
options (Object)
传入一个选项对象以改变.first()
的默认行为。
选项 | 默认值 | 描述 |
---|---|---|
log | true | 在命令日志中显示该命令 |
timeout | defaultCommandTimeout | 在超时前等待.first() 解析的时间 |
生成结果
.first()
返回它找到的新DOM元素。.first()
是一个查询命令,可以安全地链式调用其他命令。
示例
无参数
获取列表中的第一个列表项
<ul>
<li class="one">大拇指上的小玩意儿</li>
<li class="two">鞋子上的小玩意儿</li>
<li class="three">膝盖上的小玩意儿</li>
<li class="four">门上的小玩意儿</li>
</ul>
// 返回 <li class="one">大拇指上的小玩意儿</li>
cy.get('li').first()
规则
要求
.first()
必须链式调用在返回DOM元素的命令之后。
断言
超时设置
.first()
可能会因等待元素 存在于DOM中 而超时。.first()
可能会因等待添加的断言通过而超时。
命令日志
在表单中查找第一个输入框
cy.get('form').find('input').first()
以上命令将在命令日志中显示为:

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