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

Cypress网页元素定位:如何获取首个Sign in按钮的唯一CSS选择器

第一个Sign in按钮的CSS选择器写法

结合你给出的HTML结构,两个按钮的自身属性完全一致,核心差异是第一个按钮被类名为offset-sm-3 col-sm-9的div元素包裹,第二个按钮没有该父容器,推荐按以下优先级选择方案:

  • 方案1(最稳定,优先使用):利用父元素唯一特征匹配
    对应CSS选择器:div.offset-sm-3.col-sm-9 button[type="submit"]
    Cypress调用写法:

    cy.get('div.offset-sm-3.col-sm-9 button[type="submit"]')
    

    这个写法完全依托原生CSS支持,不依赖Cypress专属语法,也不会因为页面新增其他同文本按钮导致定位偏移。

  • 方案2(临时快速定位使用):按匹配结果取序号
    对应CSS选择器配合Cypress写法:

    cy.get('button:contains("Sign in")').eq(0)
    

    注意该方案稳定性较差,如果后续页面Sign in按钮的顺序、数量发生变化,定位会直接失效。

  • 方案3(更高精准度):结合按钮独有属性过滤
    如果你要进一步缩小匹配范围,可以叠加按钮的专属属性:
    对应CSS选择器:div.offset-sm-3.col-sm-9 button[nbbutton][status="primary"]
    可以完全避免父容器下出现其他按钮时的匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:24:06