You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用cypress-wait-until实现页面重载直至目标元素定位?

使用cypress-wait-until实现“重载页面直到目标元素出现”的解决方案

需求场景

  • 访问目标页面
  • 检查指定元素是否存在
  • 元素不存在则重复重载页面,直到元素出现
  • 元素出现后断言其存在

遇到的问题

未使用cypress-wait-until的代码可以正常运行,但在cypress-wait-until中加入cy.reload()后,代码直接失效;移除cy.reload()后,插件的基础功能又能正常工作。

自定义实现的经验与差异分析

我自己编写了refreshUntil自定义命令实现了需求,对比后发现和失效的cypress-wait-until代码有两个核心差异:

  1. 每次重试都会重新执行Cypress.$(selector).length来检查元素状态
  2. 页面重载后会等待一段时间再进行元素检查

可行的cypress-wait-until代码方案

结合上述两点调整后,最终得到可以正常工作的代码:

cy.waitUntil(() => cy.reload().wait(2500).then(() => Cypress.$(selector).length), options);

内容的提问来源于stack exchange,提问作者Léo Coco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:45:34