如何在Cypress中定位name属性包含点号的元素?
解决Cypress定位name含点号元素的报错问题
当你用cy.get('input[name=foo.bar]')定位时出错,是因为CSS选择器里的.是类选择器标识,会被解析成「name为foo且带有bar类」的元素,而非name值是foo.bar的元素。解决方法有几种:
给属性值加引号:把name属性值用双引号或单引号包裹,明确告诉选择器这是完整的属性值:
cy.get('input[name="foo.bar"]') // 或者单引号(注意和外层引号区分) cy.get("input[name='foo.bar']")转义点号:用反斜杠转义
.,但因为JavaScript里反斜杠本身需要转义,所以要写两个反斜杠:cy.get('input[name=foo\\.bar]')简化属性选择器写法:直接用属性选择器,不依赖标签(如果不需要限定标签的话):
cy.get('[name="foo.bar"]')
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

