メインコンテンツにスキップ

$$

$$コマンドは、ページ上の複数の要素を取得するための短く便利な方法です。 WebdriverIO要素のセットを含むChainablePromiseArrayを返します。

情報

ブラウザオブジェクトに付属している$$とは異なり、 このコマンドはルート要素に基づいて要素を照会します。

個々のコマンドをawaitでラップせずに$$$を連鎖させて、DOMツリーを下に移動することができます。例えば:

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

WebdriverIOは、ネストレベルやシャドウルートモードに関係なく、$または$$コマンドを使用する際にシャドウルートをシームレスに走査します。例えば:

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

また、非同期イテレータを使用してクエリの結果をループすることも可能です。例:

// 全ての画像のソースを表示
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
情報

特定の要素を選択する方法の詳細については、セレクタガイドをご覧ください。

使用法
$(selector).$$(selector)
パラメータ
名前タイプ詳細
selectorString, Function, Matcher複数の要素を取得するためのセレクタ、JS関数、またはMatcherオブジェクト
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
戻り値
  • <WebdriverIO.ElementArray>

Welcome! How can I help?

WebdriverIO AI Copilot