Урок 03. Введение в Selenium
⚡ Кратко: Selenium WebDriver и первый UI-автотест
Selenium — набор инструментов для автоматизации браузера. WebDriver — его ядро: управляет браузером через драйвер (ChromeDriver, GeckoDriver). В Selenium 4 драйвер управляется автоматически через Selenium Manager — никаких ручных загрузок.
- Установка:
pip install selenium - Запуск:
driver = webdriver.Chrome()— Selenium Manager найдёт драйвер сам - Навигация:
driver.get(url),driver.back(),driver.forward(),driver.refresh() - Окно:
driver.maximize_window(),driver.set_window_size(w, h) - Скриншот:
driver.save_screenshot("file.png") - Закрыть: всегда
driver.quit()(неclose())
Топ-3 ошибки: 1) Забыть driver.quit() — браузер зависает. 2) Использовать executable_path= — устарело в Selenium 4. 3) Не ждать загрузку страницы перед взаимодействием.
📖 О чём этот урок
Этот урок открывает блок Selenium в курсе Auto QA. Вы узнаете, что такое Selenium и как работает WebDriver. Установите библиотеку, запустите браузер из кода, освоите методы навигации и управления окном, сделаете скриншот — и напишете первый UI-автотест с pytest-фикстурой.
Что изучим
- Компоненты Selenium: IDE, WebDriver, Grid
- Принцип работы WebDriver — команды браузеру через драйвер
- Основные драйверы: ChromeDriver, GeckoDriver, SafariDriver, EdgeDriver
- Преимущества и ограничения Selenium
- Установка:
pip install seleniumиwebdriver-manager - Selenium Manager — автоматическое управление драйвером (Selenium 4)
- Методы навигации:
get,back,forward,refresh - Управление окном: размер, максимизация, скриншот
- Метод
click()и поиск элементов:find_element(By.*) - Фикстура pytest для управления жизненным циклом браузера
📚 Что повторить перед изучением
- ← Урок 02: Summary session 1 — повторение unit-тестирования и pytest
- Фикстуры pytest:
@pytest.fixture,yield - Виртуальное окружение:
python -m venv venv,pip install - Основы HTML/CSS — теги, атрибуты (пригодятся при поиске элементов)
🎯 Что изучать дальше
- → Урок 04: Summary session 2 — повторение основ Selenium
- Локаторы:
By.ID,By.CSS_SELECTOR,By.XPATH - Явные ожидания:
WebDriverWait+expected_conditions