$$
El comando $$
es una forma corta y práctica para obtener múltiples elementos en la página.
Devuelve un ChainablePromiseArray
que contiene un conjunto de elementos de WebdriverIO.
A diferencia del $$
adjunto al objeto browser,
este comando consulta elementos basándose en un elemento raíz.
Puedes encadenar $
o $$
sin envolver los comandos individuales en await
para
navegar por el árbol DOM, por ejemplo:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
WebdriverIO atraviesa sin problemas las shadow roots cuando se utilizan los comandos $
o $$
, independientemente del nivel de anidamiento o
del modo de shadow root, por ejemplo:
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()
También es posible utilizar iteradores asincrónicos para recorrer el resultado de la consulta, por ejemplo:
// print all image sources
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
Para más información sobre cómo seleccionar elementos específicos, consulta la guía de Selectores.
Uso
$(selector).$$(selector)
Parámetros
Nombre | Tipo | Detalles |
---|---|---|
selector | String, Function, Matcher | selector, función JS o objeto Matcher para obtener múltiples elementos |
Ejemplos
loading...
loading...
loading...
loading...
Devuelve
- <WebdriverIO.ElementArray>