如何在cypress中按名称选择下拉列表?

如何在cypress中按名称选择下拉列表?,cypress,Cypress,请单击文本进行屏幕截图: 柏树编码: 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

请单击文本进行屏幕截图:

柏树编码:

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})
    })

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

在您的例子中,它是由
contains(postname)
生成的元素,您得到了一个错误,因为您正在该元素中查找
.idea行
元素

此外,在您的情况下,由于
下拉菜单
元素不在
contains(postname)
生成的元素中,因此必须以这种方式使用
contains()
inthein()

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});
});

以上解决方案适合我

谢谢您的回复。这对我很有用,我现在明白了,我很高兴能帮上忙。请考虑投票或接受答案,鼓励更多的人帮助。
cy.contains('.idea-row', postname).within(($a)=>{
            // locate all of the spaces 
                if ($a.find('.drop-down-menu > .toggle > .zang-icon').length > 0) {   
                    cy.get('.drop-down-menu > .toggle > .zang-icon').click({force:true})
                    cy.get(' .drop-down-menu > .options-list > :nth-child(1) > .list-row > div > p')
                    .contains('Remove').click({force:true}) // click on "Edit Space" option of first newly created space drp dwn 

                }
            })