Урок 05. Локаторы Selenium

📁 Блок: Selenium ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#locators #css-selector #xpath #find-element #by

⚡ Кратко: локаторы в Selenium 4

Локатор — способ однозначно найти элемент на странице. В Selenium 4 все стратегии поиска — через класс By: find_element(By.CSS_SELECTOR, "...") и find_elements(By.XPATH, "...").

  • By.ID — самый надёжный, если ID уникален
  • By.CSS_SELECTOR — быстро, гибко, читаемо; рекомендуется по умолчанию
  • By.XPATH — мощный, поиск по тексту и сложным условиям, медленнее CSS
  • find_element() → первый WebElement или NoSuchElementException
  • find_elements() → список WebElement или пустой список []
  • element.is_displayed() → True/False — виден ли элемент

Топ-3 ошибки: 1) Хрупкий XPath из DevTools «Copy XPath» — сломается при любом изменении DOM. 2) By.CLASS_NAME не работает с составными классами. 3) Забыть обработать NoSuchElementException от find_element().

📖 О чём этот урок

Этот урок посвящён локаторам — ключевому инструменту Selenium. Прежде чем взаимодействовать с кнопкой, полем ввода или ссылкой, нужно найти элемент на странице. Именно для этого служат стратегии поиска через класс By.

Вы узнаете, как работать с DevTools для поиска локаторов, освоите CSS-селекторы и XPath, научитесь выбирать надёжные локаторы и обрабатывать ситуации, когда элемент не найден.

Что изучим

  • Что такое локатор веб-элемента
  • Как найти локатор в DevTools (браузере)
  • Все стратегии By.*: ID, NAME, CLASS_NAME, TAG_NAME, LINK_TEXT, PARTIAL_LINK_TEXT, CSS_SELECTOR, XPATH
  • CSS-селекторы: по ID, классу, атрибуту, вложенности, частичному совпадению
  • XPath: синтаксис, поиск по тексту, функция contains()
  • Методы find_element() и find_elements() — отличия
  • Обработка NoSuchElementException
  • Метод is_displayed() и свойство .text
  • Как выбирать надёжные локаторы

📚 Что повторить перед изучением

🎯 Что изучать дальше