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)
Команды выше будут отображаться в журнале команд как:
При нажатии на команду eq в журнале команд консоль выведет следующее:
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/eq