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

Cypress中如何选中含“abc Account”的li并点击其tree-checkbox?

解决Cypress中定位指定li下复选框的问题

问题原因

你当前代码的问题出在.get('.tree-checkbox')上——Cypress的.get()方法会从整个文档重新开始查询,而非在之前定位到的包含“abc Account”的li元素内部查找,因此会匹配到页面上所有的.tree-checkbox元素,导致“找到多个元素”的报错。

解决方案

需要在定位到目标li后,使用.find()方法限定查找上下文,或者直接用组合选择器一步到位:

方法1:修正原代码的上下文问题

cy.get('div[id*="list-widget"]')
  .find('li')
  .contains('abc Account')
  .closest('li') // 回到包含目标文本的li元素(contains默认匹配内部span)
  .find('.tree-checkbox')
  .click({force: true});

方法2:更简洁的组合选择器

直接通过选择器关联li和复选框,一步定位目标元素:

cy.get('#list-widget li:contains("abc Account") .tree-checkbox')
  .click({force: true});

方法3:通过title属性精准匹配

利用li内部span的title属性做更精准的定位:

cy.get('#list-widget li span[title="abc Account"]')
  .closest('li')
  .find('.tree-checkbox')
  .click({force: true});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:30:48