📄 playwright-python/python/docs/videos

File: videos.md | Updated: 11/18/2025

Source: https://playwright.dev/python/docs/videos

Skip to main content

On this page

Introduction


With Playwright you can record videos for your tests.

Record video


Videos are saved upon browser context closure at the end of a test. If you create a browser context manually, make sure to await browser_context.close() .

  • Sync

  • Async

    context = browser.new_context(record_video_dir="videos/")# Make sure to close, so that videos are saved.context.close()

    context = await browser.new_context(record_video_dir="videos/")# Make sure to await close, so that videos are saved.await context.close()

You can also specify video size. The video size defaults to the viewport size scaled down to fit 800x800. The video of the viewport is placed in the top-left corner of the output video, scaled down to fit if necessary. You may need to set the viewport size to match your desired video size.

  • Sync

  • Async

    context = browser.new_context( record_video_dir="videos/", record_video_size={"width": 640, "height": 480})

    context = await browser.new_context( record_video_dir="videos/", record_video_size={"width": 640, "height": 480})

Saved video files will appear in the specified folder. They all have generated unique names. For the multi-page scenarios, you can access the video file associated with the page via the page.video .

  • Sync

  • Async

    path = page.video.path()

    path = await page.video.path()

note

Note that the video is only available after the page or browser context is closed.