2021-01-18 06:09:40 +01:00
|
|
|
---
|
|
|
|
|
id: videos
|
|
|
|
|
title: "Videos"
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<!-- TOC -->
|
|
|
|
|
|
|
|
|
|
Playwright can record videos for all pages in a [browser context](./core-concepts.md#browser-contexts). Videos are saved
|
|
|
|
|
upon context closure, so make sure to await [`method: BrowserContext.close`].
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// With browser.newContext()
|
|
|
|
|
const context = await browser.newContext({ recordVideo: { dir: 'videos/' } });
|
|
|
|
|
// Make sure to await close, so that videos are saved.
|
|
|
|
|
await context.close();
|
|
|
|
|
|
|
|
|
|
// With browser.newPage()
|
|
|
|
|
const page = await browser.newPage({ recordVideo: { dir: 'videos/' } });
|
|
|
|
|
// Make sure to await close, so that videos are saved.
|
|
|
|
|
await page.close();
|
|
|
|
|
|
2021-03-01 18:18:44 +01:00
|
|
|
// [Optional] Specify video size; defaults to viewport size scaled down to fit 800x800
|
2021-01-18 06:09:40 +01:00
|
|
|
const context = await browser.newContext({
|
|
|
|
|
recordVideo: {
|
|
|
|
|
dir: 'videos/',
|
2021-03-01 18:18:44 +01:00
|
|
|
size: { width: 1024, height: 768 },
|
2021-01-18 06:09:40 +01:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
```
|
|
|
|
|
|
2021-03-01 18:18:44 +01:00
|
|
|
```java
|
|
|
|
|
// With browser.newContext()
|
|
|
|
|
context = browser.newContext(new Browser.NewContextOptions().withRecordVideoDir(Paths.get("videos/")));
|
|
|
|
|
// Make sure to close, so that videos are saved.
|
|
|
|
|
context.close();
|
|
|
|
|
|
|
|
|
|
// With browser.newPage()
|
|
|
|
|
Page page = browser.newPage(new Browser.NewPageOptions().withRecordVideoDir(Paths.get("videos/")));
|
|
|
|
|
// Make sure to close, so that videos are saved.
|
|
|
|
|
page.close();
|
|
|
|
|
|
|
|
|
|
// [Optional] Specify video size; defaults to viewport size scaled down to fit 800x800
|
|
|
|
|
BrowserContext context = browser.newContext(new Browser.NewContextOptions()
|
|
|
|
|
.withRecordVideoDir(Paths.get("videos/"))
|
|
|
|
|
.withRecordVideoSize(1024, 768));
|
|
|
|
|
```
|
|
|
|
|
|
2021-01-18 06:09:40 +01:00
|
|
|
```python async
|
|
|
|
|
# With browser.new_context()
|
|
|
|
|
context = await browser.new_context(record_video_dir="videos/")
|
|
|
|
|
# Make sure to await close, so that videos are saved.
|
|
|
|
|
await context.close()
|
|
|
|
|
|
|
|
|
|
# With browser.new_page()
|
|
|
|
|
page = await browser.new_page(record_video_dir="videos/")
|
|
|
|
|
# Make sure to await close, so that videos are saved.
|
|
|
|
|
await page.close()
|
|
|
|
|
|
2021-03-01 18:18:44 +01:00
|
|
|
# [Optional] specify video size; defaults to viewport size scaled down to fit 800x800
|
2021-01-18 06:09:40 +01:00
|
|
|
context = await browser.new_context(
|
|
|
|
|
record_video_dir="videos/",
|
2021-03-01 18:18:44 +01:00
|
|
|
record_video_size={"width": 1024, "height": 768}
|
2021-01-18 06:09:40 +01:00
|
|
|
)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```python sync
|
|
|
|
|
# With browser.new_context()
|
|
|
|
|
context = browser.new_context(record_video_dir="videos/")
|
|
|
|
|
# Make sure to close, so that videos are saved.
|
|
|
|
|
context.close()
|
|
|
|
|
|
|
|
|
|
# With browser.new_page()
|
|
|
|
|
page = browser.new_page(record_video_dir="videos/")
|
|
|
|
|
# Make sure to close, so that videos are saved.
|
|
|
|
|
page.close()
|
|
|
|
|
|
2021-03-01 18:18:44 +01:00
|
|
|
# [Optional] specify video size; defaults to viewport size scaled down to fit 800x800
|
2021-01-18 06:09:40 +01:00
|
|
|
context = browser.new_context(
|
|
|
|
|
record_video_dir="videos/",
|
2021-03-01 18:18:44 +01:00
|
|
|
record_video_size={"width": 1024, "height": 768}
|
2021-01-18 06:09:40 +01:00
|
|
|
)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### API reference
|
|
|
|
|
- [BrowserContext]
|
|
|
|
|
- [`method: Browser.newContext`]
|
|
|
|
|
- [`method: Browser.newPage`]
|
|
|
|
|
- [`method: BrowserContext.close`]
|