THREADQA
    THREADQA
    Главная
    Курсы
    Java QA Automation
    Selenium, JUnit, TestNG, CI/CD
    Python QA Automation
    Pytest, Playwright, Docker
    iOS QA Automation
    XCTest, XCUITest, Fastlane
    Все курсы
    Практика
    Мок собеседование
    Тренировка перед реальным интервью
    Записи собеседований
    Разбор реальных собеседований
    Буткемп
    Интенсивная подготовка к работе
    XPath Practice Hub
    Тренажёр XPath-запросов
    Roadmap
    Путь QA-инженера
    XPath Dinner
    Практика XPath в игровом формате
    Блог
    FAQ
    Для компаний
    1. Домой
    2. Тренажер XPath
    3. Справочник XPath
    Справочник
    Шпаргалка

    СправочникXPath и CSS селекторов

    Шпаргалка по синтаксису XPath и CSS: базовые селекторы, поиск по тексту, сложные выражения, динамические элементы и лучшие практики для автоматизации тестирования.

    Назад к тренажеру
    Quick Reference

    Быстрый справочниклокаторов

    Самые популярные паттерны поиска элементов для UI автотестирования — всё в одном месте

    Базовые XPath

    основы поиска элементов

    //div

    Все div элементы на странице

    //div[@id='myId']

    Div с конкретным ID

    //div[@class='myClass']

    Div с точным классом

    //*[@data-testid='element']

    По data-testid (рекомендуется)

    Поиск по тексту

    text functions

    //button[text()='Нажми']

    Точное совпадение текста

    //button[contains(text(), 'Нажми')]

    Частичное совпадение

    //a[normalize-space()='Ссылка']

    Убирает лишние пробелы

    //span[starts-with(text(), 'Начало')]

    Начинается с определенного текста

    Сложные селекторы

    advanced patterns

    //div[contains(@class, 'btn')]

    Частичное совпадение класса

    //input[@type='text'][1]

    Первый элемент определенного типа

    //div[@id='parent']//button

    Любой потомок элемента

    //input[@required and @type='email']

    Логические операторы (AND)

    CSS селекторы

    быстрые и простые

    #myId

    Элемент по ID

    .myClass

    Элементы по классу

    input[type="email"]

    По атрибуту

    div > button:first-child

    Первый дочерний элемент

    Динамические элементы

    состояния и условия

    //button[not(@disabled)]

    Активные кнопки (не заблокированы)

    //div[contains(@class, 'visible')]

    Видимые элементы

    //input[@value != '']

    Заполненные поля ввода

    //div[starts-with(@id, 'dynamic-')]

    Элементы с динамическими ID

    Лучшие практики

    стабильные локаторы

    [data-testid="user-button"]

    Специальные атрибуты для тестов

    //button[contains(@aria-label, 'Save')]

    Accessibility атрибуты

    //form[@name='login']//input

    Контекстный поиск в форме

    //div[@role='dialog']

    Семантические роли

    XPath vs CSS сравнение

    Когда использовать каждый тип селекторов

    Преимущества XPath

    • Поиск по тексту элементов
    • Навигация к родительским элементам
    • Сложные логические условия
    • Мощные оси для навигации

    Преимущества CSS

    • Значительно быстрее выполнение
    • Простой и понятный синтаксис
    • Лучше поддержка в браузерах
    • Знаком большинству разработчиков

    Практические советы

    Стабильность

    Используйте data-testid атрибуты вместо классов CSS для более стабильных тестов

    Ожидания

    Всегда используйте явные ожидания для динамических элементов

    Читаемость

    Делайте локаторы понятными и самодокументируемыми

    Тестирование

    Проверяйте локаторы в DevTools перед использованием в тестах

    Производительность

    CSS селекторы обычно быстрее XPath для простых случаев

    Динамичность

    Избегайте хрупких селекторов, зависящих от структуры DOM

    Главное правило локаторов

    Лучший локатор — тот, который не ломается при изменениях UI. Используйте data-testid атрибуты для критически важных элементов и комбинируйте CSS с XPath в зависимости от задачи.

    ✓ Стабильность✓ Читаемость✓ Производительность✓ Поддерживаемость

    Справочная информация

    xpath · css · best practices · automation

    Этот справочник содержит наиболее часто используемые паттерны XPath и CSS селекторов для автоматизации тестирования. Здесь собраны базовые выражения, поиск по тексту, сложные селекторы, CSS-синтаксис и советы по написанию стабильных локаторов.

    Ключевое правило: используйте data-testid атрибуты для стабильных тестов. Они не зависят от CSS классов и структуры DOM, которые могут меняться при рефакторинге.

    Готовы применить знания на практике? Перейдите к базовым элементам или продвинутым сценариям.

    THREADQAПлатформа QA Automation

    О платформе

    Обучаем автоматизации тестирования на Java, Python и iOS. Курсы, мок-интервью, буткемп с менторством до оффера.

    Онлайн 24/7

    Курсы

    • Java QA Automation
    • Python QA Automation
    • iOS QA Automation
    • Про ThreadQA

    Услуги

    • QA Буткемп
    • Мок-собеседования
    • Записи собеседований

    Инструменты

    • Roadmap QA
    • Тренажёр XPath
    • XPath Diner

    Контакты

    • Email
      info@threadqa.ru
    • Telegram
      @penolegrus
    Публичная офертаПолитика конфиденциальностиУсловия использования
    © 2026·ThreadQA LMS·Все права защищены