当我得到一个路径错误时,我如何选择一个复选框.我用柏树做这个


cy.get('[data-ng-show="destact['dest'].length > 0"] > .checkbox-block > :nth-child(1) > .ng-binding').click()

上面是我的复选框的路径。由于有两个单引号,我也尝试将它们连接起来,但是没有成功

cy.get('[data-ng-show="destact['+'dest'+'].length > 0"] > .checkbox-block > :nth-child(1) > .ng-binding').click()

反引号也是选择器的有效分隔符,

cy.get(`[data-ng-show="destact['dest'].length > 0"] > .checkbox-block > :nth-child(1) > .ng-binding`)

假设选择器[data-ng-show="destact['dest'].length > 0"] > .checkbox-block > :nth-child(1) > .ng-binding是正确的选择器,您可以使用反斜杠转义单引号:

cy.get('[data-ng-show="destact['dest'].length > 0"] > .checkbox-block > :nth-child(1) > .ng-binding').click()

在使用复杂表达式

选择此属性时,似乎出现了两个问题
<div data-ng-show="destact['dest'].length > 0" ></div>
  • 引号冲突
  • 方括号过早结束了选择器。

如果只有一个元素的表达式以destact

开头,则此操作有效。
cy.get("div[data-ng-show^=destact]")
.should('have.attr', 'data-ng-show', "destact['dest'].length > 0")
.find('.checkbox-block > :nth-child(1) > .ng-binding')

如果cy.get("div[data-ng-show^=destact]")选择了多个元素,您可以为确切的表达式添加一个过滤器

cy.get("div[data-ng-show^=destact]")
.filter((i, el) => {
return Cypress.$(el).attr('data-ng-show') === "destact['dest'].length > 0"
})
.find('.checkbox-block > :nth-child(1) > .ng-binding')

相关内容

  • 没有找到相关文章

最新更新