Перейти до основного вмісту

$

Команда $ - це короткий і зручний спосіб отримати один елемент на сторінці.

інформація

На відміну від $, що приєднаний до об'єкта browser, ця команда запитує елемент на основі кореневого елемента.

Ви також можете передати об'єкт як селектор, де об'єкт містить властивість element-6066-11e4-a52e-4f735466cecf зі значенням посилання на елемент. Команда потім перетворить посилання на розширений елемент WebdriverIO.

Примітка: ланцюжки команд $ та $$ мають сенс лише тоді, коли ви використовуєте кілька стратегій вибору селекторів. В іншому випадку ви зробите непотрібні запити, які сповільнять тест (наприклад, $('body').$('div') викличе два запити, тоді як $('body div') робить буквально те саме лише з одним запитом)

Ви можете зв'язувати $ або $$ разом, не обгортаючи окремі команди в await, щоб спуститися по DOM-дереву, наприклад:

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

WebdriverIO безперешкодно проходить через тіньові коріння (shadow roots) при використанні команд $ або $$, незалежно від рівня вкладеності або режиму тіньового кореня, наприклад:

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()
інформація

Для отримання додаткової інформації про те, як вибирати конкретні елементи, перегляньте посібник Selectors.

Використання
$(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