В предыдущей статье объяснялся и поделился сценарием автоматической генерации для записи, а также я объясню и поделюсь здесь записью видео. Сегодня мы научимся использовать Playwright и Python для записи видео действий браузера, чтобы их можно было воспроизводить и анализировать при необходимости.
Запишите официальное видео-презентациюAPIАдрес документа:https://playwright.dev/python/docs/videos#record-video
Видео сохраняется при закрытии контекста браузера в конце теста. Если вы создаете контекст браузера вручную, убедитесь, что браузер_context.close() сохраняет видео при вызове close. Если остановить выполнение, не дождавшись закрытия верха и низа, видео не сохранится.
context = browser.new_context(record_video_dir="videos/")
# Make sure to close, so that videos are saved.
context.close()
① Установите Playwright Python (среда драматурга настроена).
②Создайте экземпляр браузера
③ Начать запись.
④ Выполните операции, которые необходимо записать.
⑤ Закройте браузер или экземпляр контекста.
⑥. Сохранение видеофайлов.
Далее мы подробно опишем, что должен делать каждый шаг, и предоставим соответствующие примеры кода для практического использования.
Установите Playwright Python (среда драматурга настроена)
Прежде чем мы начнем запись, нам нужно создать контекст или экземпляр браузера. Следующий код демонстрирует, как создать экземпляр браузера Chromium:
from playwright.sync_api import sync_playwright
with sync_playwright() as playwright:
browser = playwright.chromium.launch()
page = browser.new_page()
Когда у нас есть экземпляр браузера или контекст и страница, мы можем начать запись. Используйте следующий код, чтобы начать запись на странице:
context = browser.new_context(record_video_dir="videos/")
# Make sure to close, so that videos are saved.
context.close()
После выполнения кода вы увидите, что видео создается в каталоге видео, но в формате webm. Как показано ниже:
Теперь мы можем совершать любые действия на странице, которые необходимо записать. Например, нажать кнопку, заполнить форму и т. д. Пожалуйста, напишите соответствующий код в соответствии с вашими потребностями.
Когда вы завершили операции, которые хотите записать, используйте следующий код, чтобы закрыть браузер или экземпляр контекста:
context.close()
browser.close()
Наконец, нам нужно сохранить записанный видеофайл. Используйте следующий код, чтобы сохранить запись в файл:
page.video.path() # Получить путь к файлу записи
Вы можете распечатать путь к видеофайлу или сохранить его в переменной для последующего использования.
В качестве примера мы возьмем Ду Нианг. Введите «Пекин-Хонге» в поле поиска и нажмите «Baidu Click».
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-11-26
@author: Пекин-Хонге
Публичный аккаунт: Пекин Хунге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-41-record видео
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as playwright:
# Создать экземпляр браузера
browser = playwright.chromium.launch()
# Начать запись
context = browser.new_context(record_video_dir="videos/recording.mp4")
page = context.new_page()
# Выполнение операций, которые необходимо записать
page.goto("https://www.baidu.com")
page.locator("#kw").fill("Пекин-Хонге")
page.locator("#su").click()
# Закрыть экземпляр
context.close()
browser.close()
# Сохранить видеофайл
recording_path = page.video.path()
print("Путь к видеофайлу:", recording_path)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Вы также можете указать размер видео. Размер видео по умолчанию уменьшен до размера области просмотра 800x800. Видео области просмотра размещается в верхнем левом углу выходного видео, при необходимости сжимаясь до нужного размера. Возможно, вам придется установить размер области просмотра в соответствии с желаемым размером видео.
context = browser.new_context(
record_video_dir="videos/",
record_video_size={"width": 640, "height": 480}
)
Сохраненные видеофайлы появятся в указанной папке. Все они генерируют уникальные имена. Для многостраничных сценариев вы можете передать page.video Получите доступ к видеофайлу, связанному со страницей.
path = page.video.path()
videoОфициальный метод объектаAPI:https://playwright.dev/python/docs/api/class-video
print(page.video.path())
video.delete()
video.save_as(path)
Ладно, сегодня уже поздно, поэтому я начну с объяснения видеозаписи драматурга здесь. Спасибо за ваше терпеливое чтение! ! !