- 当元素出现到消失的间隔时间过短或加载过慢时,cy无法找到元素。
例如
点击按钮进入下一页面,当要查找的页面元素尚未加载完毕,cypress已经开始下一步导致查找超时或失败。
解决方案一:使用wait等待元素加载完毕
cy.wait()
解决方案二:据说是用cy.intercept(),但是我还没研究出来,等以后再更新吧,啦啦啦啦啦啦啦
- 执行条件判断,如果元素存在,则进行A操作,否则进行B操作,大体框架如下:
it('gift section', function () {
cy.get('.o-Ordersummary__Columns').then((gift) => {
if(gift.find('.o-Gift').length) {
//A操作
}else{
cy.log('without gift')//B操作
}
})
})
我们使用.find()命令来寻找指定元素,注意if条件中的length非常重要,当存在指定元素是,length值为1,进入A操作