Javascript Cypress,如何遍历元素?

Javascript Cypress,如何遍历元素?,javascript,e2e-testing,cypress,Javascript,E2e Testing,Cypress,有许多div具有相同的名称'div.infoTextCarousel',每个div中都有'a.ProductInfoAnchor',其中一个包含匹配的href。所以我想要的是cypress一直在寻找匹配的href,直到找到为止,但问题是,当它无法找到匹配的href时,它只会首先检查'div.infoTextCarousel'和'a.ProductInfoAnchor'中的href。您可以将回调函数传递给should()以防你需要更复杂的行为。在下面的代码中,我正在提取href属性,并希望属性列表

有许多div具有相同的名称'div.infoTextCarousel',每个div中都有'a.ProductInfoAnchor',其中一个包含匹配的href。所以我想要的是cypress一直在寻找匹配的href,直到找到为止,但问题是,当它无法找到匹配的href时,它只会首先检查'div.infoTextCarousel'和'a.ProductInfoAnchor'中的href。

您可以将回调函数传递给should()以防你需要更复杂的行为。在下面的代码中,我正在提取href属性,并希望属性列表包含特定的url:

cy.get('div.infoTextCarousel').find('a.ProductInfoAnchor').should('have.attr', 'href', url)
希望这有帮助

const url = '/something'
cy.get('div.infoTextCarousel')
 .find('a')
 .should($a => {
     let hrefs = $a.map((i, el) => {
      return Cypress.$(el).attr('href')})

      expect(hrefs.get()).to.contain(url)
  })