children
Получите дочерние элементы каждого DOM-элемента в наборе DOM-элементов.
Поведение запроса этой команды точно соответствует тому, как работает
.children()в jQuery.
Синтаксис
.children()
.children(selector)
.children(options)
.children(selector, options)
Использование
Правильное использование
cy.get('nav').children() // Yield children of nav
Неправильное использование
cy.children() // Errors, cannot be chained off 'cy'
cy.location().children() // Errors, 'location' does not yield DOM element
Аргументы
selector (Строковый селектор)
Селектор, используемый для фильтрации соответствующих DOM-элементов.
options (Объект)
Передайте объект options, чтобы изменить стандартное поведение .children().
| Опция | Значение по умолчанию | Описание |
|---|---|---|
log |
true |
Отображает команду в журнала команд |
timeout |
defaultCommandTimeout |
Время ожидания, в течение которого .children() должен быть разрешен, прежде чем истечёт время ожидания
|
Возвращаемое значение
-
.children()возвращает новые найденные DOM-элементы.
Примеры
Без аргументов
Получить дочерние элементы .secondary-nav
<ul>
<li>About</li>
<li>
Services
<ul class="secondary-nav">
<li class="services-1">Web Design</li>
<li class="services-2">Logo Design</li>
<li class="services-3">
Print Design
<ul class="tertiary-nav">
<li>Signage</li>
<li>T-Shirt</li>
<li>Business Cards</li>
</ul>
</li>
</ul>
</li>
<li>Contact</li>
</ul>
// yields [
// <li class="services-1">Web Design</li>,
// <li class="services-2">Logo Design</li>,
// <li class="services-3">Print Design</li>
// ]
cy.get('ul.secondary-nav').children()
Селектор
Получить дочерние элементы с классом active
<div>
<ul>
<li class="active">Unit Testing</li>
<li>Integration Testing</li>
</ul>
</div>
// yields [
// <li class="active">Unit Testing</li>
// ]
cy.get('ul').children('.active')
Правила
Требования
-
.children()требует цепочки команд, возвращающих DOM-элементы.
Ассершены
-
.children()автоматически повторяется, пока элемент(ы) не будут существовать в DOM -
.children()автоматически повторяется, пока все ассершены не пройдут.
Таймауты
-
.children()может превысить ожидание, пока элемент(ы) не появятся в DOM . -
.children()может превысить ожидание, пока все добавленные ассершены не пройдут.
Журнал команд
Утвердить, что должно быть 8 дочерних элементов в навигаторе
cy.get('.left-nav>.nav').children().should('have.length', 8)
Команды выше будут отображаться в журнале команд как:
При нажатии на команду children в журнале команд, консоль выведет следующее:
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/children