如何在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
}
})