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

$

$コマンドは、ページ上の単一の要素を取得するための短く便利な方法です。

情報

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

セレクタとして、プロパティelement-6066-11e4-a52e-4f735466cecfを含むオブジェクトを渡すこともできます。 このプロパティの値は要素への参照です。コマンドは参照を拡張されたWebdriverIO要素に変換します。

注意: $$$コマンドを連鎖させることは、複数のセレクタ戦略を使用する場合にのみ意味があります。そうでない場合は、 テストを遅くする不要なリクエストを発生させることになります(例:$('body').$('div')は2つのリクエストを発生させますが、 $('body div')は同じことをたった1つのリクエストで行います)

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

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

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

使用法
$(selector).$(selector)
パラメータ
名前詳細
selectorString, Function, Matcher特定の要素を取得するためのセレクタ、JS関数、またはMatcherオブジェクト
example.html
loading...
singleElements.js
loading...
singleElements.js
loading...
singleElements.js
loading...
$.js
it('should use Androids DataMatcher or ViewMatcher selector', async () => {
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"],
"class": "androidx.test.espresso.matcher.ViewMatchers"
});
await menuItem.click();

const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"]
});
await menuItem.click();
});
戻り値
  • <WebdriverIO.Element>

Welcome! How can I help?

WebdriverIO AI Copilot