$$
Команда $$
— это короткий и удобный способ получения нескольких элементов на странице.
Она возвращает ChainablePromiseArray
, содержащий набор элементов WebdriverIO.
В отличие от $$
, прикрепленного к объекту браузера,
эта команда запрашивает элементы на основе корневого элемента.
Вы можете соединять команды $
или $$
вместе без оборачивания отдельных команд в await
, чтобы
перемещаться по DOM-дереву, например:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
WebdriverIO легко проходит через теневые DOM (shadow roots) при использовании команд $
или $$
, независимо от уровня вложенности или
режима теневого DOM, например:
await browser.url('https://ionicframework.com/docs/usage/v8/datetime/basic/demo.html?ionic:mode=md')
await browser.$('button[aria-label="Sunday, August 4"]').click()
await browser.$('.aux-input').getValue()
Также возможно использовать асинхронные итераторы для перебора результата запроса, например:
// вывести все источники изображений
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
Для получения дополнительной информации о том, как выбирать определенные элементы, ознакомьтесь с руководством Selectors.
Использование
$(selector).$$(selector)
Параметры
Имя | Тип | Детали |
---|---|---|
selector | String, Function, Matcher | селектор, JS-функция или объект Matcher для получения нескольких элементов |
Примеры
loading...
loading...
loading...
loading...
Возвращает
- <WebdriverIO.ElementArray>