当我使用:cy.get('b').contains('xdz') // find 1 element
但是当我使用:cy.get('b:contains("xdz")') // find 2 elements
有人能解释一下有什么区别吗?
发布于 2022-04-19 08:57:34
发布于 2022-04-19 08:58:16
cy.get('b').contains('xdz')正在调用Cypress命令,该命令设计为只返回一个元素。这是由设计,以便您可以缩小搜索的文本内容。
cy.get('b:contains("xdz")')使用jquery伪选择器:contains()来测试元素<b>中的文本,并被设计为返回所有匹配的元素。
伪选择器是CSS选择器语法的扩展,在选择期间应用jQuery方法。在本例中,:contains(sometext)是$el.text().contains('sometext')的缩写。因为它是选择器的一部分,所以它返回所有匹配的元素。
理解jquery选择器变体(如本例所示)是值得的--它可以为不同情况提供不同的结果。
https://stackoverflow.com/questions/71921665
复制相似问题