如何获取一个元素的所有子元素的所有链接



我有一个可以定位的元素:

cy.get('[foo="bar"]')

现在我试图找到所有的a元素说的元素:

cy.get('[foo="bar"] a')这应该给我所有的元素,有父(或祖父)foo,和<a>

然而,这似乎只选择一个元素(即父元素foo和a),而不是所有元素,因为我只保存了一个href。

我是这样保存结果的:

cy.get('[foo="bar"]').invoke('attr', 'href')
.then((hrefs) => {
cy.writeFile('./cypress/downloads/results.txt', hrefs)
});     

我如何选择所有的孩子,那是<a>,[foo="bar"],然后我如何提取他们所有的href属性?

我认为步骤.invoke('attr', 'href')只是返回第一个,参见。attr()

获取第一个元素的属性值在匹配元素

的集合中

,也许

cy.get('[foo="bar"] a')
.then($els => {
const hrefs = [...$els].map(el => el.getAttribute('href'))
cy.writeFile('./cypress/downloads/results.txt', hrefs)
})

最新更新