cypress dom元素属性的选择

时间:2019-11-14 12:34:54

标签: javascript dom cypress

我的网站上有两个svg元素:

myDict = {'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona'],
         'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese'],
         'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam'],
         'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh']}
def add (i):
    j=i.split(";;;")
    myDict["Name"].append(j[0])
    myDict["Tribe"].append(j[1])
    myDict["Town"].append(j[2])
    myDict["Username"].append(j[3])
add(i)    
print(myDict)

我喜欢根据其属性<svg data-icon="times" ... > ...</svg> <svg data-icon="sync" ... > ...</svg> 选择一个。像这样:

data-icon

我在cy.get('svg').filter(?) cy.get部分的文档中找不到任何内容。我知道我可以通过在元素周围分配类或id或使用cy.filter函数来获取一个元素来解决此问题,但是对于我的测试来说,这是一个常见问题,我正在寻找最舒适的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以直接定位数据属性。代码如下所示:

cy.get('[data-icon="times"]')

这将产生具有{times“ data-icon属性的元素。

通过显式地仅将具有该data属性的svg元素定位为目标,您可以更加具体:

cy.get('svg[data-icon="times"]')

Here's the section of the docs for more reading.