THREADQA
    THREADQA
    Главная
    Курсы
    Java QA AutomationNEW
    Новый курс · уже можно купить
    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 AutomationNEW
    • Python QA Automation
    • iOS QA Automation
    • Про ThreadQA

    Услуги

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

    Инструменты

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

    Контакты

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