首页 > 解决方案 > 我如何在柏树中按名称选择下拉列表?

问题描述

请点击屏幕截图上的文字:

在这里,我想通过 cypress 的帖子名称删除这个发布的项目

HTML DOM

赛普拉斯代码:

cy.get('.idea-row').contains(potsname).within(()=>{
        cy.get('.idea-row > .drop-down-menu ').click({force:true})
        cy.get('.idea-row > .drop-down-menu > .options-list').contains('Remove').click({force:true})
    })

错误 :

标签: cypress

解决方案


within()命令“将所有后续 cy 命令范围限定在此元素内”。换句话说,回调 inwithin()使用从前面命令给出的元素开始的 DOM 子树within()

在你的情况下,它是产生的元素contains(postname),你得到一个错误,因为你正在寻找.idea-row这个元素内的元素。

另外,在您的情况下,由于该dropdown-menu元素不在由 产生的元素内contains(postname),因此您必须使用contains()andwithin()这种方式:

cy.contains('.idea-row', potsname).within(()=>{
  cy.get('.drop-down-menu').click({force:true});
  cy.get('.drop-down-menu > .options-list').contains('Remove').click({force:true});
});

推荐阅读