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

Shadow DOM中无href的<a>标签丢失link角色的原因咨询

这是完全符合HTML规范的预期行为,并非Bug。

  • 原生HTML中,<a>标签只有在带有href属性时,才会被浏览器识别为具备link语义角色的可交互元素。如果没有href,它本质上就是一个普通的行内容器,和<span>的语义完全一致,不会被赋予任何链接相关的角色。
  • 你用screen.getByShadowRole('link')做测试时,因为元素已经失去了link角色,所以查找失败是必然的结果。

针对你的场景,可以参考以下处理方式:

  1. 若元素确实需要作为可跳转链接使用,确保href始终有有效值——比如当没有实际跳转目标时,可以设置为href="javascript:void(0)",或者根据业务逻辑赋予合适的占位值。
  2. 若只是需要链接样式但不需要跳转功能,直接改用<span>或其他元素,通过CSS模拟链接的视觉样式,避免语义上的混淆。
  3. 若必须保留<a>标签且允许无href的情况,测试时换用其他定位方式,比如通过文本内容screen.getByText('link'),或者结合元素的类名、ID等属性进行查找。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:59:51