在Cypress中是否支持通过ID和Class等多个参数共同查找元素?
Cypress多条件元素定位问题解答
你的写法完全符合Cypress的语法规范,不过要根据你实际的定位需求判断效果,两种常见场景的使用方式如下:
- 如果你需要匹配满足id为
button_id或者 带有button-class类的元素:你当前的写法是正确的。CSS选择器里的逗号作用是并列多个选择规则,只要元素符合任意一个规则就会被命中,Cypress的cy.get()方法原生支持所有标准CSS选择器语法,所以你写的这段代码可以正常运行,匹配到对应元素后会执行点击操作。
你当前的代码示例:it('find button',function(){ cy.get('#button_id, .button-class').click() }) - 如果你需要匹配同时满足id为
button_id且 带有button-class类的元素,就需要把两个选择器直接拼接,不要加逗号:
这种写法只会命中同时符合两个属性规则的元素,避免匹配到只满足其中一个条件的无关元素。it('find button',function(){ cy.get('#button_id.button-class').click() })
你还可以按照标准CSS选择器规则叠加更多定位条件,比如属性选择器、伪类等,都可以直接传入cy.get()中使用。
内容的提问来源于stack exchange,提问作者Bruno Rodriguez
相关产品推荐
相关产品推荐

