$
Команда $ - це короткий та зручний спосіб отримати один елемент на сторінці.
Ви також можете передати об'єкт як селектор, де об'єкт містить властивість element-6066-11e4-a52e-4f735466cecf
зі значенням посилання на елемент. Команда потім перетворить посилання на розширений елемент WebdriverIO.
Примітка: ланцюжок команд $ та $$ має сенс лише коли ви використовуєте декілька стратегій селекторів. В іншому випадку
ви робитимете непотрібні запити, які сповільнюють тест (наприклад, $('body').$('div') викличе два запити, тоді як
$('body div') робить буквально те саме з одним запитом)
Примітка: використовуйте ці об'єкти елементів лише якщо ви впевнені, що вони все ще існують на
сторінці, наприклад, використовуючи команду isExisting. WebdriverIO не може повторно отримати їх, оскільки
інформація про селектор недоступна.
При використанні тестового бігунка wdio ця команда є глобальною змінною, див. Globals
для отримання додаткової інформації. При використанні WebdriverIO у окремому
скрипті вона буде розташована на об'єкті браузера (наприклад, browser.$$).
Ви можете об'єднувати $ або $$ разом без обгортання окремих команд у await для
проходження по DOM-дереву, наприклад:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Для отримання більш детальної інформації про те, як вибирати конкретні елементи, перегляньте посібник Selectors.
Використання
browser.$(selector)
Параметри
| Назва | Тип | Деталі |
|---|---|---|
selector | String, Function, Matcher | селектор, JS-функція або об'єкт Matcher для отримання певного елемента |
Приклади
loading...
loading...
loading...
loading...
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>