Урок 20. Скриншоты экрана и запись логов работы скрипта на Selenium
Для отладки и тестирования важно фиксировать состояние страницы и действия скрипта. Selenium позволяет не только делать скриншоты, но и вести лог действий, что значительно облегчает поиск ошибок и анализ работы автоматизации.
Скриншоты помогают понять, как выглядела страница в момент выполнения теста, а логирование позволяет сохранить пошаговую информацию о действиях браузера и возможных ошибках.
Скриншоты страницы
Снимок всего окна или конкретного элемента.
import logging
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
# === Настройка логирования ===
logging.basicConfig(
filename="selenium_logs.log", # имя файла для логов
level=logging.INFO, # уровень логирования
format="%(asctime)s - %(levelname)s - %(message)s",
encoding="utf-8"
)
# === Запуск браузера ===
driver = webdriver.Chrome()
driver.maximize_window()
try:
url = "https://parsertools.ru/primers"
logging.info(f"Открываем сайт: {url}")
driver.get(url)
time.sleep(7)
# Сохраняем полный скриншот страницы
screenshot_file = "screenshot_full.png"
driver.save_screenshot(screenshot_file)
logging.info(f"Скриншот всей страницы сохранён: {screenshot_file}")
# Сохраняем скриншот конкретного элемента
try:
element = driver.find_element(By.CSS_SELECTOR, "h4.wp-block-post-title")
element_screenshot = "element.png"
element.screenshot(element_screenshot)
logging.info(f"Скриншот элемента сохранён: {element_screenshot}")
except NoSuchElementException:
logging.error("❌ Элемент для скриншота не найден")
except Exception as e:
logging.exception(f"Ошибка во время выполнения: {e}")
finally:
driver.quit()
logging.info("Браузер закрыт")
Результат
Что делает скрипт
- Открывает сайт и пишет это в лог.
- Сохраняет скриншот всей страницы в
screenshot_full.png. - Ищет элемент (заголовок поста) и сохраняет его скриншот в
element.png. - Если элемент не найден — пишет ошибку в лог.
- В конце закрывает браузер и фиксирует это событие.
Советы
- Делайте скриншоты при возникновении ошибок — это помогает быстрее находить проблему.
- Ведите логи не только ошибок, но и успешных шагов — это полезно для отладки.
- Используйте разные уровни логирования (
INFO,ERROR,DEBUG), чтобы управлять детализацией отчётов.
Этот урок полезен для начинающих и опытных пользователей, которые хотят наладить контроль за выполнением скриптов Selenium и получать полные отчёты о работе.
Больше уроков по парсингу на parsertools.ru/lessons .
