Spec-Zone.ru › Cypress

eq

Получение элемента DOM по определенному индексу в массиве элементов.

Поведение запроса этой команды точно соответствует поведению .eq() в jQuery.

Синтаксис

.eq(index)
.eq(indexFromEnd)
.eq(index, options)
.eq(indexFromEnd, options)

Использование

Правильное использование

cy.get('tbody>tr').eq(0) // Yield first 'tr' in 'tbody'
cy.get('ul>li').eq(4) // Yield fifth 'li' in 'ul'

Неправильное использование

cy.eq(0) // Errors, cannot be chained off 'cy'
cy.getCookies().eq(4) // Errors, 'getCookies' does not yield DOM element

Аргументы

index (Число)

Число, указывающее индекс для поиска элемента в массиве элементов. Начинается с 0.

indexFromEnd (Число)

Отрицательное число, указывающее позицию индекса с конца для поиска элемента в массиве элементов.

options (Объект)

Передайте объект опций для изменения стандартного поведения .eq().

Опция Значение по умолчанию Описание
log true Отображение команды в журнале команд
timeout defaultCommandTimeout Время ожидания .eq() для разрешения перед выходом из времени ожидания

Возвращаемое значение

  • .eq() возвращает новый элемент(ы) DOM, который(е) он нашел.

Примеры

Индекс

Поиск второго элемента в элементах

<ul>
  <li>tabby</li>
  <li>siamese</li>
  <li>persian</li>
  <li>sphynx</li>
  <li>burmese</li>
</ul>
cy.get('li').eq(1).should('contain', 'siamese') // true

Выполнение проверки для 3-й строки таблицы

<table>
  <tr>
    <th>Breed</th>
    <th>Origin</th>
  </tr>
  <tr>
    <td>Siamese</td>
    <td>Thailand</td>
  </tr>
  <tr>
    <td>Sphynx</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Persian</td>
    <td>Iran</td>
  </tr>
</table>
cy.get('tr').eq(2).should('contain', 'Canada') //true

Индекс с конца

Поиск второго элемента с конца в элементах

<ul>
  <li>tabby</li>
  <li>siamese</li>
  <li>persian</li>
  <li>sphynx</li>
  <li>burmese</li>
</ul>
cy.get('li').eq(-2).should('contain', 'sphynx') // true

Правила

Требования

  • .eq() требует цепочки команд, которые возвращают элементы DOM.

Проверки

  • .eq() будет автоматически повторяться до тех пор, пока элемент(ы) не будут существовать в DOM
  • .eq() будет автоматически повторяться до тех пор, пока все присоединённые проверки не пройдут

Таймауты

  • .eq() может выйти из времени ожидания, ожидая, пока элемент(ы) не появятся в DOM .
  • .eq() может выйти из времени ожидания, ожидая, пока проверки, которые вы добавили, не пройдут.

Журнал команд

Поиск четвёртого <li> в навигации

cy.get('.left-nav.nav').find('>li').eq(3)

Команды выше будут отображаться в журнале команд как:

Command log eq

При нажатии на команду eq в журнале команд консоль выведет следующее:

console.log eq

См. также

  • .first()
  • .last()
  • .next()
  • .prev()

© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/eq

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API