# Что такое Selenium и зачем его используют?

#### 🔹 Что такое **Selenium**

**Selenium** — это **инструментарий (framework)** для автоматизации работы веб-браузеров.\
Он позволяет **программно управлять браузером**: открывать страницы, нажимать кнопки, вводить текст, проверять результаты.

Основной компонент — **Selenium WebDriver**: библиотека, которая “общается” с браузером через драйвер (например, chromedriver, geckodriver).

***

#### 🔹 Зачем его используют

1. **Автоматизация тестирования UI**
   * Проверка, что сайт работает как ожидается: логин, регистрация, корзина, оплата.
   * Повторяемые тесты можно гонять без участия человека.
2. **Регрессия**
   * При каждом изменении кода можно быстро проверить, что старый функционал не сломался.
3. **Кросс-браузерное тестирование**
   * Запуск тестов в разных браузерах (Chrome, Firefox, Safari, Edge) и на разных ОС.
4. **Интеграция в CI/CD**
   * Тесты можно запускать автоматически при каждом релизе.
5. **Web-скрапинг (ограниченно)**
   * Иногда Selenium используют не только для тестов, но и для автоматизации действий в браузере (например, скачать отчёт с сайта, если нет API).

***

#### 🔹 Преимущества

* Поддерживает все популярные языки (Java, Python, C#, JS).
* Работает почти с любым браузером.
* Большое сообщество, много документации и примеров.

#### 🔹 Недостатки

* Тесты **медленные** по сравнению с API-тестами.
* Хрупкие: изменения в верстке ломают локаторы.
* Требует настроек (драйверы, окружение).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kaze.gitbook.io/qa-theory/teoriya-avtomatizirovannogo-testirovaniya/selenium/chto-takoe-selenium-i-zachem-ego-ispolzuyut.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
