#cypress
#кипарис
Вопрос:
После полудня,
Мне нужно уметь находить и хранить идентификатор на основе текстового соответствия.
Таким образом, я могу найти какой-то текст и перейти к родительскому div. Но мне нужен способ сохранить идентификатор, но только номер, так как это будет связано с другим действием, поскольку оно динамически создается приложением и радикально откладывается.
Источник.
lt;div class="link name" role="button" tabindex="0" id="title-6126"gt; lt;pgt;sometextlt;/pgt;
Ответ №1:
Вы можете сделать что-то вроде этого:
cy.get('div[role="button"]').invoke('attr', 'id').then((id) =gt; { cy.log( id.split('-')[1]) //prints 6126 as Number cy.wrap( id.split('-')[1]).as('idNum') //To use later }) cy.get('@idNum').then((idNum) =gt; { cy.log(idNum) //prints 6126 as Number //Access idNum here })
Теперь, если вы хотите получить свой идентификатор из своего текста, вы можете:
cy.contains('sometext') .parent() .within(() =gt; { cy.get('div[role="button"]') .invoke('attr', 'id') .then((id) =gt; { cy.log( id.split('-')[1]) //prints 6126 as Number cy.wrap( id.split('-')[1]).as('idNum') //To use later }) }) cy.get('@idNum').then((idNum) =gt; { cy.log(idNum) //prints 6126 as Number //Access idNum here })