Aller au contenu
SDETRole
SDETRole

JSON et données

Testeur de sélecteurs XPath et CSS

Testez des locators XPath et CSS sur du HTML et voyez ce qu’ils ciblent.

Fonctionne entièrement dans votre navigateur Sans inscription

HTML

0 chars

Preview (matches outlined)

The page renders here in a sandboxed frame with scripts disabled, and matched elements are outlined.

Paste HTML or load the sample login form and orders table

Queries starting with / or ( are treated as XPath; anything else as a CSS selector.

XPath and CSS cheatsheet

GoalXPathCSS
Element by id
Attribute equals
Attribute contains
Class (one of several)
Exact visible text(no CSS equivalent: CSS cannot match text)
Text contains(no CSS equivalent)
Nth row (1-based)
Last row
Cell next to a label(CSS has + and ~ but cannot start from text)
Row containing a cell(CSS cannot select by text)
Parent of an element
Input after its label
Disabled buttons
Count matches(use the match count shown)

Click any selector to run it against the sample. Browsers implement XPath 1.0, so functions like matches() or lower-case() from XPath 2.0 are not available.

À propos de cet outil

Un bon locator cible exactement un élément et continue de fonctionner après le prochain changement d’interface. Ce testeur vous permet de vérifier un locator sur le vrai code source d’une page avant de l’intégrer à un test Selenium, Playwright ou Cypress. Collez le HTML (depuis les DevTools, « Copy outerHTML »), saisissez une expression XPath ou un sélecteur CSS, et voyez combien d’éléments correspondent, le balisage de chacun et leur position sur un aperçu rendu. L’aperçu est une frame isolée (sandbox) avec les scripts désactivés. L’aide-mémoire présente les axes et fonctions XPath courants à côté de leurs équivalents CSS, quand il en existe.

Mode d’emploi

  1. Collez du HTML, ou cliquez sur « Load sample » (charger un exemple) pour un formulaire de connexion et un tableau de commandes.
  2. Tapez un locator. Les expressions commençant par / ou ( sont traitées comme du XPath, les autres comme du CSS ; utilisez le sélecteur pour forcer l’un ou l’autre.
  3. Vérifiez le nombre de correspondances : une seule correspondance est ce qu’il faut pour une cible de clic ou d’assertion.
  4. Cliquez sur un sélecteur de l’aide-mémoire pour l’exécuter sur l’exemple.

FAQ : Testeur de sélecteurs XPath et CSS

Faut-il utiliser des sélecteurs XPath ou CSS ?

Préférez le CSS ou les locators du framework (comme getByRole et getByTestId de Playwright) pour la rapidité et la lisibilité. Utilisez XPath quand vous avez besoin de ce que le CSS ne peut pas exprimer : cibler par texte avec normalize-space(), remonter à un ancêtre, ou sélectionner une cellule relativement à un libellé avec following-sibling::.

Pourquoi mon XPath fonctionne-t-il dans la console du navigateur mais pas ici ?

Les navigateurs ne prennent en charge que XPath 1.0, que cet outil utilise aussi. Vérifiez que le HTML collé est bien celui que le navigateur a rendu : le contenu ajouté par JavaScript, ou situé dans une iframe ou un shadow DOM, n’est pas dans le code source de la page. Copiez l’outerHTML depuis les DevTools pour obtenir le DOM réel.

Pourquoi contains(@class, "btn") cible-t-il trop d’éléments ?

contains() cherche des sous-chaînes, donc il cible aussi "btn-primary" et "submit-btn". Utilisez contains(concat(' ', normalize-space(@class), ' '), ' btn ') en XPath, ou simplement .btn en CSS, pour cibler un nom de classe complet.

Saisissez un terme pour rechercher sur SDETRole.

Recherche plein texte par Pagefind · s’exécute dans votre navigateur Ouvrir la page de recherche →