赛普拉斯无法获取()一个“ id”“错误:语法错误,无法识别的表达式:#Maintenance $ Menu”

时间:2019-09-11 20:40:55

标签: cypress

通过不断获取错误“错误:语法错误,无法识别的表达式:#Maintenance $ Menu”,在自定义赛普拉斯函数中使用ID。我可以在检查工具中看到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,但是它不起作用

Screenshot of Cypress UI with error

1 个答案:

答案 0 :(得分:-1)

您需要使用:

cy.get(`[id="#${menuNav[1]}$Menu"]`)