首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找元素:不同的语法->不同的结果-需要解释

问查找元素:不同的语法->不同的结果-需要解释
EN

Stack Overflow用户
提问于 2022-04-19 08:13:33
回答 2查看 119关注 0票数 0

当我使用:cy.get('b').contains('xdz') // find 1 element

但是当我使用:cy.get('b:contains("xdz")') // find 2 elements

有人能解释一下有什么区别吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-19 08:57:34

contains('xdz')是一个cypress命令,它总是只生成包含文本的第一个元素。您可以从这个Github螺纹上读到更多关于它的信息。

:contains("xdz")是一个Jquery命令,它返回包含文本的所有元素。你可以从Jquery文档上读到更多关于它的信息。

票数 1
EN

Stack Overflow用户

发布于 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选择器变体(如本例所示)是值得的--它可以为不同情况提供不同的结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71921665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档