$$
Der $$
-Befehl ist eine kurze und praktische Möglichkeit, um mehrere Elemente auf der Seite abzurufen.
Er gibt ein ChainablePromiseArray
zurück, das eine Reihe von WebdriverIO-Elementen enthält.
Im Gegensatz zu $$
, das an das Browser-Objekt
angehängt ist, fragt dieser Befehl Elemente basierend auf einem Wurzelelement ab.
Sie können $
oder $$
miteinander verketten, ohne einzelne Befehle in await
einzuwickeln,
um den DOM-Baum zu durchlaufen, z.B.:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
WebdriverIO durchläuft Shadow Roots nahtlos, wenn Sie die Befehle $
oder $$
verwenden, unabhängig von der Verschachtelungsebene oder
dem Shadow-Root-Modus, zum Beispiel:
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()
Es ist auch möglich, asynchrone Iteratoren zu verwenden, um über das Ergebnis der Abfrage zu iterieren, z.B.:
// print all image sources
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
Weitere Informationen zur Auswahl bestimmter Elemente finden Sie im Selectors-Leitfaden.
Verwendung
$(selector).$$(selector)
Parameter
Name | Type | Details |
---|---|---|
selector | String, Function, Matcher | Selektor, JS-Funktion oder Matcher-Objekt zum Abrufen mehrerer Elemente |
Beispiele
loading...
loading...
loading...
loading...
Gibt zurück
- <WebdriverIO.ElementArray>