Перейти до основного вмісту

$$

Команда $$ - це короткий та зручний спосіб отримання кількох елементів на сторінці. Вона повертає 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'))
}
інфо

Для отримання додаткової інформації про те, як вибирати конкретні елементи, перегляньте посібник Селектори.

Використання
$(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