🔖 Справочник команд — Selenium WebDriver

🎯 Повторение урока 03

⚡ Ключевые команды

pip install selenium              # установка
driver = webdriver.Chrome()       # запуск (Selenium 4)
driver.get("https://...")         # переход на URL
driver.back() / forward()         # история
driver.refresh()                  # обновить
driver.quit()                     # закрыть браузер
driver.save_screenshot("f.png")   # скриншот

Установка

КомандаОписание
pip install seleniumУстановить Selenium (включает Selenium Manager)
pip install webdriver-managerБиблиотека явного управления драйвером (опционально в Selenium 4)
pip show seleniumПроверить версию установленной библиотеки

Запуск браузера

КомандаОписание
webdriver.Chrome()Chrome — Selenium Manager управляет драйвером (Selenium 4)
webdriver.Firefox()Firefox — аналогично, через GeckoDriver
webdriver.Edge()Microsoft Edge
webdriver.Safari()Safari (только macOS)
webdriver.Chrome(service=ChromeService(ChromeDriverManager().install())) Chrome с явным webdriver-manager (устаревший способ, показан в лекции)

Навигация

МетодОписание
driver.get(url)Открыть указанный URL
driver.back()Вернуться на предыдущую страницу истории
driver.forward()Перейти на следующую страницу истории
driver.refresh()Обновить текущую страницу
driver.titleЗаголовок текущей страницы (атрибут)
driver.current_urlТекущий URL (атрибут)

Управление окном

МетодОписание
driver.maximize_window()Развернуть окно на весь экран
driver.fullscreen_window()Полноэкранный режим браузера
driver.minimize_window()Свернуть окно в панель задач
driver.set_window_size(width, height)Задать размер окна в пикселях

Скриншот

МетодОписание
driver.save_screenshot("path/file.png")Сохранить скриншот всего окна браузера
element.screenshot("path/element.png")Скриншот конкретного элемента страницы

Поиск элементов и взаимодействие

МетодОписание
driver.find_element(By.ID, "id")Найти элемент по ID
driver.find_element(By.NAME, "name")Найти элемент по атрибуту name
driver.find_element(By.LINK_TEXT, "текст")Найти ссылку по полному тексту
driver.find_element(By.TAG_NAME, "h1")Найти элемент по тегу
element.click()Кликнуть по найденному элементу
element.textПолучить текстовое содержимое элемента

Закрытие браузера

МетодОписание
driver.quit()Закрыть браузер и завершить сессию WebDriver (рекомендуется)
driver.close()Закрыть текущую вкладку, но не сессию — драйвер остаётся в памяти
Всегда используйте driver.quit(), а не driver.close(). Метод quit() завершает весь процесс драйвера и освобождает ресурсы. close() закрывает только текущую вкладку, процесс ChromeDriver остаётся «висеть» в системе.

Фикстура pytest

ЭлементОписание
@pytest.fixtureДекоратор — объявить функцию фикстурой
yield driverПередать драйвер в тест; код после yield — teardown
def test_*(driver):Принять фикстуру как аргумент теста
pytest test_file.pyЗапустить тесты из файла
pytest -v test_file.pyЗапустить с подробным выводом