Aller au contenu principal

$

La commande $ est un moyen court et pratique pour récupérer un seul élément sur la page.

Vous pouvez également passer un objet comme sélecteur où l'objet contient une propriété element-6066-11e4-a52e-4f735466cecf avec la valeur d'une référence à un élément. La commande transformera alors la référence en un élément WebdriverIO étendu.

Remarque : chaîner les commandes $ et $$ n'a de sens que lorsque vous utilisez plusieurs stratégies de sélection. Vous ferez sinon des requêtes inutiles qui ralentissent le test (par exemple, $('body').$('div') déclenchera deux requêtes alors que $('body div') fait littéralement la même chose avec une seule requête)

Remarque : n'utilisez ces objets d'élément que si vous êtes certain qu'ils existent toujours sur la page, par exemple en utilisant la commande isExisting. WebdriverIO est incapable de les récupérer à nouveau étant donné qu'il n'y a pas d'informations de sélecteur disponibles.

En utilisant le testrunner wdio, cette commande est une variable globale, voir Globals pour plus d'informations. En utilisant WebdriverIO dans un script autonome, elle sera située sur l'objet du navigateur à la place (par exemple, browser.$$).

Vous pouvez chaîner $ ou $$ ensemble sans envelopper les commandes individuelles dans await afin de descendre dans l'arborescence DOM, par exemple :

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

Pour plus d'informations sur la façon de sélectionner des éléments spécifiques, consultez le guide Sélecteurs.

Utilisation
browser.$(selector)
Paramètres
NomTypeDétails
selectorString, Function, Matchersélecteur, fonction JS ou objet Matcher pour récupérer un certain élément
Exemples
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();
});
Retourne
  • <WebdriverIO.Element>

Welcome! How can I help?

WebdriverIO AI Copilot