Урок 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("Браузер закрыт")

Результат

  • 1. Скриншот экрана - screenshot_full.png
  • 2. Скриншот элемента - element.png
  • 3. Файл логирования - selenium_logs.log

  • Что делает скрипт

    • Открывает сайт и пишет это в лог.
    • Сохраняет скриншот всей страницы в screenshot_full.png.
    • Ищет элемент (заголовок поста) и сохраняет его скриншот в element.png.
    • Если элемент не найден — пишет ошибку в лог.
    • В конце закрывает браузер и фиксирует это событие.

    Советы

    • Делайте скриншоты при возникновении ошибок — это помогает быстрее находить проблему.
    • Ведите логи не только ошибок, но и успешных шагов — это полезно для отладки.
    • Используйте разные уровни логирования (INFO, ERROR, DEBUG), чтобы управлять детализацией отчётов.

    Этот урок полезен для начинающих и опытных пользователей, которые хотят наладить контроль за выполнением скриптов Selenium и получать полные отчёты о работе.

    Больше уроков по парсингу на parsertools.ru/lessons .