Zum Hauptinhalt springen

$$

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.

Info

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'))
}
Info

Weitere Informationen zur Auswahl bestimmter Elemente finden Sie im Selectors-Leitfaden.

Verwendung
$(selector).$$(selector)
Parameter
NameTypeDetails
selectorString, Function, MatcherSelektor, JS-Funktion oder Matcher-Objekt zum Abrufen mehrerer Elemente
Beispiele
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
Gibt zurück
  • <WebdriverIO.ElementArray>

Welcome! How can I help?

WebdriverIO AI Copilot