$
$
コマンドは、ページ上の単一の要素を取得するための短くて便利な方法です。
情報
$
とは異なり、browserオブジェクトに添付されているこのコマンドは、ルート要素に基づいて要素をクエリします。
セレクターとしてオブジェクトを渡すこともできます。オブジェクトには、要素への参照の値を持つプロパティ `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://ionic.dokyumento.jp/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)
パラメータ
名前 | タイプ | 詳細 |
---|---|---|
セレクター | String 、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();
});