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

Cypress如何正确获取邮件列表中指定邮箱地址对应的最后一项?

问题根因

cy.contains('test@test5.com')默认仅返回页面中第一个包含指定文本的DOM元素,后续链式调用的.last()是对单个元素执行的,不会生效,所以始终点击最早匹配到的靠前条目。

可行解决方案

方案1:通过文本过滤匹配

先选中所有邮件链接元素,再筛选出包含目标邮箱的条目后取最后一项:

// 可根据实际页面结构调整a标签的选择器,缩小匹配范围提高准确率
cy.get('a')
  .filter((_, el) => el.innerText.includes('test@test5.com'))
  .last()
  .click()

方案2:通过链接属性匹配(更精准)

因为你的邮件链接href属性中也包含目标邮箱,直接用属性匹配选择器更稳定,不会误匹配页面其他位置的同邮箱文本:

// 匹配href中包含指定邮箱的所有a标签,取最后一项点击
cy.get('a[href*="test@test5.com"]')
  .last()
  .click()

小提示:如果邮件列表有专属父容器,建议给父容器加标识类/ID,选择器中加上父容器限定,可以进一步提高匹配效率和准确率,避免匹配到页面其他位置的无关元素。

内容的提问来源于stack exchange,提问作者Alex Cristian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:06:00