Hoppa till huvudinnehåll

$$

Kommandot $$ är ett kort och praktiskt sätt att hämta flera element på sidan. Det returnerar en ChainablePromiseArray som innehåller en uppsättning WebdriverIO-element.

info

Till skillnad från $$ som är kopplad till webbläsarobjektet söker detta kommando efter element baserat på ett rot-element.

Du kan kedja $ eller $$ tillsammans utan att behöva omsluta enskilda kommandon i await för att navigera nedåt i DOM-trädet, t.ex.:

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

WebdriverIO går sömlöst igenom shadow roots när du använder kommandona $ eller $$, oavsett nästlingsnivå eller shadow root-läge, till exempel:

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

Det är också möjligt att använda asynkrona iteratorer för att loopa igenom resultatet av sökningen, t.ex.:

// print all image sources
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
info

För mer information om hur du väljer specifika element, läs guiden Selectors.

Användning
$(selector).$$(selector)
Parametrar
NamnTypDetaljer
selectorString, Function, Matcherväljare, JS-funktion eller Matcher-objekt för att hämta flera element
Exempel
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
Returnerar
  • <WebdriverIO.ElementArray>

Welcome! How can I help?

WebdriverIO AI Copilot