Перейти к основному содержимому

$$

Команда $$ — это короткий и удобный способ получения нескольких элементов на странице. Она возвращает 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)
Параметры
ИмяТипДетали
selectorString, Function, Matcherселектор, JS-функция или объект Matcher для получения нескольких элементов
Примеры
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
Возвращает
  • <WebdriverIO.ElementArray>

Welcome! How can I help?

WebdriverIO AI Copilot