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

Cypress点击隐藏元素失效,无法触发Mercado Libre价格排序操作

问题根因

你的操作无法生效主要有两个核心问题:

  1. 「Menor Precio」选项默认隐藏在排序下拉菜单中,你没有先触发下拉菜单展开就直接点击内部选项,即使加了{force: true},站点绑定的交互事件也不会正常触发。
  2. 你使用的层级嵌套+:nth-child的定位方式非常脆弱,站点只要调整DOM结构就会出现定位失效、匹配到错误元素的问题。

修复方案

按照「展开下拉框→点击可见选项」的正常用户操作流程编写脚本,优先使用文本匹配或元素自带属性做定位,不要滥用强制点击:

/// <reference types="Cypress" />

describe("Main test suite for price control", () => {
    it("search scanners and order them by ascending price", () => {
        // 访问目标页面
        cy.visit("https://listado.mercadolibre.com.ar/scanner-blueetooth#D[A:scanner%20blueetooth]");
        // 点击默认显示的排序触发按钮,展开下拉菜单
        cy.get('.andes-dropdown__trigger').click();
        // 等待「Menor Precio」选项可见后点击
        cy.contains('.andes-list__item', 'Menor Precio').click();
        // 可选:验证排序已生效,检查URL是否携带排序参数
        cy.url().should('include', 'SortOrder_PRICE_ASC');
    });
});

注意事项

  • 如果站点有多语言适配,可替换文本匹配为元素自带的data-*属性定位,稳定性更高
  • 不要随意使用{force: true},该参数仅适用于元素可见但被其他组件遮挡的场景,默认隐藏的元素强制点击也无法触发正常交互逻辑
  • 如果你使用自定义的cy.visitAndWait命令,需确认该命令已正确等待页面核心资源、DOM渲染完成,避免出现元素未加载就执行点击的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:45:02