无法使用Cypress“Error:语法错误,无法识别的表达式:Maintenance$菜单”获取()一个“id”

无法使用Cypress“Error:语法错误,无法识别的表达式:Maintenance$菜单”获取()一个“id”,cypress,Cypress,在自定义Cypress函数中使用id时,不断获取错误,错误为:语法错误,无法识别的表达式:Maintenance$菜单。我可以在检查工具中看到id,并且该区域可见。那么为什么我会得到这个错误呢 Cypress.Commands.add('openMenuItem', (menuString)=>{ if (menuString.search(">") >= 0){ var menuNav = menuString.split(">")

在自定义Cypress函数中使用id时,不断获取错误,错误为:语法错误,无法识别的表达式:Maintenance$菜单。我可以在检查工具中看到id,并且该区域可见。那么为什么我会得到这个错误呢

Cypress.Commands.add('openMenuItem', (menuString)=>{
    if (menuString.search(">") >= 0){
        var menuNav = menuString.split(">")
        cy.expandMenuItem(menuNav[0])
        cy.get("#"+menuNav[0]+"$Menu").within(()=>{     //this line is where the problem occurs
            cy.contains('span',menuNav[1]).click()
        })


        cy.get('#'+menuNav[1].replace(/\s/g, '')).should('have.text',menuNav[1])
    }

})
我希望能够以这种方式选择Id,但它不起作用

您需要使用:

cy.get`[id=${menunna[1]}$Menu]` 您需要使用:

cy.get`[id=${menunna[1]}$Menu]`
请尝试cy.get“[id=”+menunna[0]+“$Menu]”,这在语法上是相同的,但似乎对$character没有阻碍。谢谢您,先生。这非常有效。请尝试cy.get“[id=”+menunna[0]+“$Menu]”,它在语法上是相同的,但似乎对$character没有任何阻碍。谢谢您,先生。这起作用很好。