Aller au contenu principal

$$

La commande $$ est un moyen court et pratique pour récupérer plusieurs éléments sur la page. Elle renvoie un ChainablePromiseArray contenant un ensemble d'éléments WebdriverIO.

info

Contrairement à $$ attaché à l'objet browser, cette commande recherche des éléments à partir d'un élément racine.

Vous pouvez chaîner $ ou $$ ensemble sans envelopper les commandes individuelles dans await afin de parcourir l'arborescence DOM, par exemple :

const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')

WebdriverIO traverse de manière transparente les shadow roots lors de l'utilisation des commandes $ ou $$, indépendamment du niveau d'imbrication ou du mode shadow root, par exemple :

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()

Il est également possible d'utiliser des itérateurs asynchrones pour parcourir le résultat de la requête, par exemple :

// afficher toutes les sources d'images
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
info

Pour plus d'informations sur la façon de sélectionner des éléments spécifiques, consultez le guide Sélecteurs.

Utilisation
$(selector).$$(selector)
Paramètres
NomTypeDétails
selectorString, Function, Matchersélecteur, fonction JS ou objet Matcher pour récupérer plusieurs éléments
Exemples
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
Retourne
  • <WebdriverIO.ElementArray>

Welcome! How can I help?

WebdriverIO AI Copilot