$$
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.
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'))
}
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
Nom | Type | Détails |
---|---|---|
selector | String, Function, Matcher | sélecteur, fonction JS ou objet Matcher pour récupérer plusieurs éléments |
Exemples
loading...
loading...
loading...
loading...
Retourne
- <WebdriverIO.ElementArray>