赛普拉斯通过包含的文本过滤选定的元素
Cypress filter selected ellements by severar included text
我有一个 select 多行查询,如下所示:
cy.get('#test-container').find('.row')
我想找到一个,在不同的子元素中包含一些文本(例如 'test title' 和 'test value')。或者至少测试此行是否存在。
像这样:
cy.get('#test-container').find('.row').filter('include.text', 'test title').filter('include.text', 'test value')
Cypress filter
将选择器作为其参数,它似乎与 DOM 元素的文本内容不匹配。
相反,您可以将 cy.contains
与正则表达式一起使用。
cy.get('#test-container').find('.row').contains(/(?:test title|test value)/)
括号和问号表示非捕获组,它匹配管道两侧的任何项目。 MDN RegEx 文档提供了更多信息。
使用正确的选择器。
例如:
cy
.get('#test-container')
.find('.row')
.filter(':contains("test title")')
试试这个!
我有一个 select 多行查询,如下所示:
cy.get('#test-container').find('.row')
我想找到一个,在不同的子元素中包含一些文本(例如 'test title' 和 'test value')。或者至少测试此行是否存在。 像这样:
cy.get('#test-container').find('.row').filter('include.text', 'test title').filter('include.text', 'test value')
Cypress filter
将选择器作为其参数,它似乎与 DOM 元素的文本内容不匹配。
相反,您可以将 cy.contains
与正则表达式一起使用。
cy.get('#test-container').find('.row').contains(/(?:test title|test value)/)
括号和问号表示非捕获组,它匹配管道两侧的任何项目。 MDN RegEx 文档提供了更多信息。
使用正确的选择器。
例如:
cy
.get('#test-container')
.find('.row')
.filter(':contains("test title")')
试试这个!