$$
$$
コマンドは、ページ上の複数の要素を取得するための短く便利な方法です。
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)
パラメータ
名前 | タイプ | 詳細 |
---|---|---|
selector | String, Function, Matcher | 複数の要素を取得するためのセレクタ、JS関数、またはMatcherオブジェクト |
例
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
戻り値
- <WebdriverIO.ElementArray>