Браузер
Браузер создается с помощью browserType.launch(). Пример использования Browser для создания Page:
const { firefox } = require('playwright'); // Or 'chromium' or 'webkit'.
(async () => {
const browser = await firefox.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
})(); Методы
bind
Привязывает браузер к именованному каналу или веб-сокету, делая его доступным для подключения других клиентов.
Использование
await browser.bind(title); await browser.bind(title, options);
Аргументы
-
titlestringНазвание сервера браузера, используемое для идентификации.
-
optionsObject (необязательно)-
hoststring (необязательно)Хост, к которому привязывается сервер веб-сокетов. Если указано это значение, вместо именованного канала создается сервер веб-сокетов.
-
metadataObject<string, Object> (необязательно)Дополнительные метаданные, связанные с сервером браузера.
-
portnumber (необязательно)Порт, к которому привязывается сервер веб-сокетов. Если указано это значение, вместо именованного канала создается сервер веб-сокетов. Используйте
0, чтобы ОС выбрала доступный порт. -
workspaceDirstring (необязательно)Рабочий каталог, связанный с этим сервером браузера.
-
Возвращает
browserType
Возвращает тип браузера (chromium, firefox или webkit), к которому относится этот браузер.
Использование
browser.browserType();
Возвращает
close
Добавлено до версии 1.9Если этот браузер был получен с помощью browserType.launch(), закрывает браузер и все его страницы (если они были открыты).
Если этот браузер подключен к серверу, удаляет все созданные контексты, принадлежащие этому браузеру, и отключается от сервера браузера.
примечаниеЭто аналог принудительного завершения работы браузера. Чтобы корректно закрыть страницы и получать события закрытия страниц, вызовите browserContext.close() для всех экземпляров BrowserContext, которые вы ранее явно создали с помощью browser.newContext(), до вызова browser.close().
Сам объект Browser считается удаленным и больше не может использоваться.
Использование
await browser.close(); await browser.close(options);
Аргументы
-
optionsObject (необязательно)-
reasonstring (необязательно)Причина, которая будет указана для операций, прерванных закрытием браузера.
-
Возвращает
contexts
Добавлено до версии 1.9Возвращает массив всех открытых контекстов браузера. Для только что созданного браузера этот метод вернет пустой массив.
Использование
const browser = await pw.webkit.launch(); console.log(browser.contexts().length); // prints `0` const context = await browser.newContext(); console.log(browser.contexts().length); // prints `1`
Возвращает
isConnected
Добавлено до версии 1.9Указывает, подключен ли браузер.
Использование
browser.isConnected();
Возвращает
newBrowserCDPSession
примечаниеСеансы CDP поддерживаются только в браузерах на базе Chromium.
Возвращает только что созданный сеанс браузера.
Использование
await browser.newBrowserCDPSession();
Возвращает
newContext
Добавлено до версии 1.9Создает новый контекст браузера. Он не использует общие файлы cookie и кэш с другими контекстами браузера.
примечаниеЕсли вы используете этот метод напрямую для создания BrowserContext, рекомендуется явно закрыть возвращенный контекст с помощью browserContext.close(), когда код завершит работу с BrowserContext, и до вызова browser.close(). Это обеспечит корректное закрытие
context, а также полную выгрузку и сохранение всех артефактов, таких как HAR-файлы и видео.
Использование
(async () => {
const browser = await playwright.firefox.launch(); // Or 'chromium' or 'webkit'.
// Create a new incognito browser context.
const context = await browser.newContext();
// Create a new page in a pristine context.
const page = await context.newPage();
await page.goto('https://example.com');
// Gracefully close up everything
await context.close();
await browser.close();
})(); Аргументы
-
optionsObject (необязательно)
-
acceptDownloadsboolean (необязательно)Автоматически ли загружать все вложения. По умолчанию —
true, когда принимаются все загрузки. -
baseURLstring (необязательно)При использовании page.goto(), page.route(), page.waitForURL(), page.waitForRequest() или page.waitForResponse() учитывается базовый URL: для построения соответствующего URL используется конструктор
URL(). По умолчанию не задано. Примеры:- baseURL:
http://localhost:3000, переход по адресу/bar.htmlприводит кhttp://localhost:3000/bar.html - baseURL:
http://localhost:3000/foo/, переход по адресу./bar.htmlприводит кhttp://localhost:3000/foo/bar.html - baseURL:
http://localhost:3000/foo(без завершающего слэша), переход по адресу./bar.htmlприводит кhttp://localhost:3000/bar.html
- baseURL:
-
bypassCSPboolean (необязательно)Включает или отключает обход Content-Security-Policy страницы. По умолчанию —
false. -
clientCertificatesArray<Object> (необязательно)-
originstringТочный источник, для которого действителен сертификат. Источник включает протокол
https, имя хоста и, при необходимости, порт. -
certPathstring (необязательно)Путь к файлу с сертификатом в формате PEM.
-
certBuffer (необязательно)Непосредственное значение сертификата в формате PEM.
-
keyPathstring (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
keyBuffer (необязательно)Непосредственное значение закрытого ключа в формате PEM.
-
pfxPathstring (необязательно)Путь к файлу с закрытым ключом и цепочкой сертификатов в кодировке PFX или PKCS12.
-
pfxBuffer (необязательно)Непосредственное значение закрытого ключа и цепочки сертификатов в кодировке PFX или PKCS12.
-
passphrasestring (необязательно)Парольная фраза для закрытого ключа (PEM или PFX).
Аутентификация клиента TLS позволяет серверу запросить сертификат клиента и проверить его.
Подробности
Массив клиентских сертификатов для использования. Каждый объект сертификата должен содержать либо оба поля
certPathиkeyPath, либо толькоpfxPath, либо соответствующие им непосредственные значения (certиkeyилиpfx). Если сертификат зашифрован, необходимо также указать свойствоpassphrase. Для свойстваoriginнеобходимо указать точное совпадение с источником запроса, для которого действителен сертификат.Аутентификация с помощью клиентского сертификата активна, только если указан хотя бы один клиентский сертификат. Чтобы отклонять все клиентские сертификаты, отправленные сервером, необходимо указать клиентский сертификат с
origin, который не соответствует ни одному домену, который вы планируете посещать.примечаниеПри использовании WebKit в macOS обращение к
localhostне обнаруживает клиентские сертификаты. Чтобы это работало, заменитеlocalhostнаlocal.playwright. -
-
colorSchemenull | "light" | "dark" | "no-preference" (необязательно)Имитирует медиавозможность prefers-colors-scheme; поддерживаются значения
'light'и'dark'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию —'light'. -
contrastnull | "no-preference" | "more" (необязательно)Имитирует медиавозможность
'prefers-contrast'; поддерживаются значения'no-preference','more'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию —'no-preference'. -
deviceScaleFactornumber (необязательно)Задает коэффициент масштабирования устройства (его можно считать равным dpr). По умолчанию —
1. Подробнее об эмуляции устройств с коэффициентом масштабирования. -
extraHTTPHeadersObject<string, string> (необязательно)Объект с дополнительными HTTP-заголовками, отправляемыми с каждым запросом. По умолчанию заголовки не задаются.
-
forcedColorsnull | "active" | "none" (необязательно)Имитирует медиавозможность
'forced-colors'; поддерживаются значения'active','none'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию —'none'. -
geolocationObject (необязательно) -
hasTouchboolean (необязательно)Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее о мобильной эмуляции.
-
httpCredentialsObject | Array<Object> (необязательно)-
usernamestring -
passwordstring -
originstring (необязательно)Ограничивает отправку учетных данных HTTP для указанного источника (scheme://host:port).
-
send"unauthorized" | "always" (необязательно)Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'— заголовокAuthorizationс учетными данными базовой аутентификации будет отправляться с каждым запросом API.'unauthorized— учетные данные отправляются только при получении ответа 401 (Unauthorized) с заголовкомWWW-Authenticate. По умолчанию —'unauthorized'.
Учетные данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются любым серверам в ответ на отказ в авторизации.
Передайте массив, чтобы использовать разные учетные данные для разных источников. Используется первая запись, соответствующая источнику запроса; записи без источника соответствуют любому запросу.
-
-
ignoreHTTPSErrorsboolean (необязательно)Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию —
false. -
isMobileboolean (необязательно)Учитывается ли тег
meta viewportи включаются ли сенсорные события. isMobile — часть устройства, поэтому задавать это значение вручную не требуется. По умолчанию —false; в Firefox не поддерживается. Подробнее о мобильной эмуляции. -
javaScriptEnabledboolean (необязательно)Включать ли JavaScript в контексте. По умолчанию —
true. Подробнее об отключении JavaScript. -
localestring (необязательно)Задает локаль пользователя, например
en-GB,de-DEи т. д. Локаль влияет на значениеnavigator.language, значение заголовка запросаAccept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции см. в руководстве по эмуляции. -
loggerLogger (необязательно)УстарелоЖурналы, получаемые средством ведения журналов, неполные. Вместо этого используйте трассировку.
Приемник журналов Playwright.
-
offlineboolean (необязательно)Имитировать ли отсутствие подключения к сети. По умолчанию —
false. Подробнее об эмуляции сети. -
permissionsArray<string> (необязательно)Список разрешений, предоставляемых всем страницам в этом контексте. Подробнее см. browserContext.grantPermissions(). По умолчанию разрешения не задаются.
-
proxyObject (необязательно)-
serverstringПрокси для всех запросов. Поддерживаются HTTP- и SOCKS-прокси, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Краткая формаmyproxy.com:3128считается HTTP-прокси. -
bypassstring (необязательно)Необязательный список доменов через запятую, для которых прокси использовать не нужно, например
".com, chromium.org, .domain.com". -
usernamestring (необязательно)Необязательное имя пользователя для аутентификации, если HTTP-прокси требует ее.
-
passwordstring (необязательно)Необязательный пароль для аутентификации, если HTTP-прокси требует ее.
Настройки сетевого прокси для этого контекста. По умолчанию прокси не задан.
-
-
recordHarObject (необязательно)-
omitContentboolean (необязательно)Необязательная настройка, определяющая, следует ли исключать содержимое запросов из HAR. По умолчанию —
false. Устарело; вместо этого используйте политикуcontent. -
content"omit" | "embed" | "attach" (необязательно)Необязательная настройка управления содержимым ресурсов. Если указано
omit, содержимое не сохраняется. Если указаноattach, ресурсы сохраняются в виде отдельных файлов или записей в ZIP-архиве. Если указаноembed, содержимое встраивается непосредственно в файл HAR согласно спецификации HAR. Для выходных файлов.zipпо умолчанию используетсяattach, а для всех файлов с другими расширениями —embed. -
pathstringПуть в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip, по умолчанию используетсяcontent: 'attach'. -
mode"full" | "minimal" (необязательно)Если задано значение
minimal, из HAR записывается только информация, необходимая для маршрутизации. Не включаются размеры, время, страница, файлы cookie, сведения о безопасности и другие данные HAR, не используемые при воспроизведении из HAR. По умолчанию —full. -
urlFilterstring | RegExp (необязательно)Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если в параметрах контекста задан baseURL, а переданный URL является путем, он объединяется с ним с помощью конструктора
new URL(). По умолчанию не задано.
Включает запись HAR для всех страниц в файл
recordHar.path. Если параметр не указан, HAR не записывается. Чтобы файл HAR был сохранен, дождитесь завершения browserContext.close(). -
-
recordVideoObject (необязательно)-
dirstring (необязательно)Путь к каталогу для сохранения видео. Если параметр не указан, видео сохраняются в
artifactsDir(см. параметры browserType.launch()). -
sizeObject (необязательно)Необязательные размеры записываемого видео. Если параметр не указан, размер будет равен
viewport, уменьшенному так, чтобы изображение помещалось в область 800x800. Еслиviewportне задан явно, размер видео по умолчанию составляет 800x450. Изображение каждой страницы при необходимости уменьшается, чтобы поместиться в указанные размеры. -
showActionsObject (необязательно)-
durationnumber (необязательно)Продолжительность отображения каждой аннотации в миллисекундах. По умолчанию —
500. -
position"top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)Положение наложения заголовка действия. По умолчанию —
"top-right". -
fontSizenumber (необязательно)Размер шрифта заголовка действия в пикселях. По умолчанию —
24. -
cursor"none" | "pointer" (необязательно)Оформление курсора для действий указателя.
"pointer"(значение по умолчанию) отображает указатель мыши, который анимированно перемещается от точки предыдущего действия к точке следующего."none"отключает оформление курсора.
Если параметр задан, во время записи видео на взаимодействующих элементах отображаются визуальные аннотации.
-
Включает запись видео для всех страниц в каталог
recordVideo.dir. Если параметр не указан, видео не записывается. Чтобы видео были сохранены, дождитесь завершения browserContext.close(). -
-
reducedMotionnull | "reduce" | "no-preference" (необязательно)Имитирует медиавозможность
'prefers-reduced-motion'; поддерживаются значения'reduce','no-preference'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию —'no-preference'. -
screenObject (необязательно)Имитирует постоянный размер экрана окна, доступный на веб-странице через
window.screen. Используется только в том случае, если задан viewport. -
serviceWorkers"allow" | "block" (необязательно)Разрешать ли сайтам регистрировать Service Workers. По умолчанию —
'allow'.-
'allow': можно регистрировать сервис-воркеры. -
'block': Playwright блокирует регистрацию всех сервис-воркеров.
-
-
storageStatestring | Object (необязательно)-
-
namestring -
valuestring -
domainstringДомен и путь обязательны. Чтобы файл cookie применялся ко всем поддоменам, добавьте точку перед доменом, например: ".example.com"
-
pathstringДомен и путь обязательны
-
expiresnumberВремя Unix в секундах.
-
httpOnlyboolean -
secureboolean -
sameSite"Strict" | "Lax" | "None"Флаг sameSite
Файлы cookie для установки в контексте
-
Подробнее о состоянии хранилища и аутентификации.
Заполняет контекст заданным состоянием хранилища. Этот параметр можно использовать для инициализации контекста данными авторизованного пользователя, полученными с помощью browserContext.storageState().
-
-
strictSelectorsboolean (необязательно)Если задано значение true, для этого контекста включается режим строгих селекторов. В этом режиме все операции с селекторами, подразумевающие один целевой элемент DOM, вызывают ошибку, если селектору соответствует несколько элементов. Этот параметр не влияет на API Locator (объекты Locator всегда работают в строгом режиме). По умолчанию —
false. Подробнее о строгом режиме см. в разделе Locator. -
timezoneIdstring (необязательно)Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt библиотеки ICU. По умолчанию используется системный часовой пояс.
-
userAgentstring (необязательно)Пользовательский агент для использования в этом контексте.
-
-
viewportnull | Object (необязательный)Эмулирует единое окно просмотра для каждой страницы. По умолчанию используется окно просмотра размером 1280x720. Используйте
null, чтобы отключить эмуляцию единого окна просмотра. Подробнее об эмуляции окна просмотра.примечаниеЗначение
nullотключает предустановленные параметры по умолчанию и делает размер окна просмотра зависимым от размера окна хоста, заданного операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
newPage
Добавлено до v1.9Создаёт новую страницу в новом контексте браузера. Закрытие этой страницы также закроет контекст.
Это удобный API, который следует использовать только в сценариях с одной страницей и коротких фрагментах кода. В рабочем коде и тестовых фреймворках следует явно вызывать browser.newContext(), а затем browserContext.newPage(), чтобы точно контролировать время их жизни.
Использование
await browser.newPage(); await browser.newPage(options);
Аргументы
-
optionsObject (необязательно)-
acceptDownloadsboolean (необязательно)Автоматически ли загружать все вложения. По умолчанию используется
true, при котором принимаются все загрузки. -
baseURLstring (необязательно)При использовании page.goto(), page.route(), page.waitForURL(), page.waitForRequest() или page.waitForResponse() учитывается базовый URL: для построения соответствующего URL используется конструктор
URL(). По умолчанию не задано. Примеры:- baseURL:
http://localhost:3000и переход к/bar.htmlприводит кhttp://localhost:3000/bar.html - baseURL:
http://localhost:3000/foo/и переход к./bar.htmlприводит кhttp://localhost:3000/foo/bar.html - baseURL:
http://localhost:3000/foo(без завершающей косой черты) и переход к./bar.htmlприводит кhttp://localhost:3000/bar.html
- baseURL:
-
bypassCSPboolean (необязательно)Включает или отключает обход Content-Security-Policy страницы. По умолчанию используется
false. -
clientCertificatesArray<Object> (необязательно)-
originstringТочный источник, для которого действителен сертификат. Источник включает протокол
https, имя хоста и, при необходимости, порт. -
certPathstring (необязательно)Путь к файлу сертификата в формате PEM.
-
certBuffer (необязательно)Непосредственное значение сертификата в формате PEM.
-
keyPathstring (необязательно)Путь к файлу закрытого ключа в формате PEM.
-
keyBuffer (необязательно)Непосредственное значение закрытого ключа в формате PEM.
-
pfxPathstring (необязательно)Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.
-
pfxBuffer (необязательно)Непосредственное значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.
-
passphrasestring (необязательно)Парольная фраза для закрытого ключа (PEM или PFX).
Аутентификация клиента TLS позволяет серверу запросить сертификат клиента и проверить его.
Подробности
Массив используемых сертификатов клиента. Каждый объект сертификата должен содержать либо одновременно
certPathиkeyPath, либо толькоpfxPath, либо соответствующие прямые значения (certиkeyилиpfx). При необходимости, если сертификат зашифрован, следует указать свойствоpassphrase. Свойствоoriginдолжно точно соответствовать источнику запроса, для которого действителен сертификат.Аутентификация с помощью сертификата клиента активна, только если указан хотя бы один сертификат клиента. Чтобы отклонить все сертификаты клиента, отправленные сервером, необходимо указать сертификат клиента с
origin, не совпадающим ни с одним из доменов, которые вы планируете посещать.примечаниеПри использовании WebKit в macOS обращение к
localhostне приведёт к использованию сертификатов клиента. Чтобы это работало, заменитеlocalhostнаlocal.playwright. -
-
colorSchemenull | "light" | "dark" | "no-preference" (необязательно)Имитирует медиафункцию prefers-colors-scheme. Поддерживаются значения
'light'и'dark'. Подробнее см. в описании page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию используется'light'. -
contrastnull | "no-preference" | "more" (необязательно)Имитирует медиафункцию
'prefers-contrast'. Поддерживаются значения'no-preference','more'. Подробнее см. в описании page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию используется'no-preference'. -
deviceScaleFactornumber (необязательно)Задаёт коэффициент масштабирования устройства (его можно рассматривать как dpr). По умолчанию используется
1. Подробнее об эмуляции устройств с коэффициентом масштабирования. -
extraHTTPHeadersObject<string, string> (необязательно)Объект с дополнительными HTTP-заголовками, отправляемыми с каждым запросом. По умолчанию заголовки не задаются.
-
forcedColorsnull | "active" | "none" (необязательно)Имитирует медиафункцию
'forced-colors'. Поддерживаются значения'active','none'. Подробнее см. в описании page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию используется'none'. -
geolocationObject (необязательно) -
hasTouchboolean (необязательно)Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее о эмуляции мобильных устройств.
-
httpCredentialsObject | Array<Object> (необязательно)-
usernamestring -
passwordstring -
originstring (необязательно)Запретить отправку учётных данных HTTP для конкретного источника (scheme://host:port).
-
send"unauthorized" | "always" (необязательно)Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные браузером.
'always'—Authorizationзаголовок с учётными данными для базовой аутентификации будет отправляться с каждым API-запросом.'unauthorized— учётные данные отправляются только после получения ответа 401 (Unauthorized) с заголовкомWWW-Authenticate. По умолчанию используется'unauthorized'.
Учётные данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются любым серверам в ответ на отказ в авторизации.
Передайте массив, чтобы использовать разные учётные данные для разных источников. Используется первая запись, соответствующая источнику запроса; записи без указанного источника соответствуют любому запросу.
-
-
ignoreHTTPSErrorsboolean (необязательно)Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию используется
false. -
isMobileboolean (необязательно)Учитывается ли тег
meta viewportи включаются ли сенсорные события. isMobile — часть конфигурации устройства, поэтому задавать этот параметр вручную не требуется. По умолчанию используетсяfalse; в Firefox не поддерживается. Подробнее об эмуляции мобильных устройств. -
javaScriptEnabledboolean (необязательно)Включать ли JavaScript в контексте. По умолчанию используется
true. Подробнее об отключении JavaScript. -
localestring (необязательно)Задаёт языковой стандарт пользователя, например
en-GB,de-DEи т. д. Языковой стандарт влияет на значениеnavigator.language, значение заголовка запросаAccept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системный языковой стандарт. Подробнее об эмуляции см. в нашем руководстве по эмуляции. -
loggerLogger (необязательно)УстарелоЖурналы, получаемые регистратором, неполны. Вместо этого используйте трассировку.
Приёмник журналов для ведения журнала Playwright.
-
offlineboolean (необязательно)Имитировать ли отсутствие подключения к сети. По умолчанию используется
false. Подробнее об эмуляции сети. -
permissionsArray<string> (необязательно)Список разрешений, выдаваемых всем страницам в этом контексте. Подробнее см. в описании browserContext.grantPermissions(). По умолчанию разрешения не выдаются.
-
proxyObject (необязательно)-
serverstringПрокси, используемый для всех запросов. Поддерживаются прокси HTTP и SOCKS, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Краткая формаmyproxy.com:3128считается прокси HTTP. -
bypassstring (необязательно)Необязательный список доменов, разделённых запятыми, для обхода прокси, например
".com, chromium.org, .domain.com". -
usernamestring (необязательно)Необязательное имя пользователя для аутентификации, если прокси HTTP требует её.
-
passwordstring (необязательно)Необязательный пароль для аутентификации, если прокси HTTP требует её.
Параметры сетевого прокси, используемого в этом контексте. По умолчанию прокси не задан.
-
-
recordHarObject (необязательно)-
omitContentboolean (необязательно)Необязательный параметр, определяющий, следует ли исключать содержимое запросов из HAR. По умолчанию используется
false. Устарело: используйте вместо этого политикуcontent. -
content"omit" | "embed" | "attach" (необязательно)Необязательный параметр управления содержимым ресурсов. Если указано
omit, содержимое не сохраняется. Если указаноattach, ресурсы сохраняются как отдельные файлы или записи в ZIP-архиве. Если указаноembed, содержимое встраивается непосредственно в файл HAR согласно спецификации HAR. Для выходных файловattachпо умолчанию используется.zip, а для всех файлов с другими расширениями —embed. -
pathstringПуть в файловой системе для сохранения файла HAR. Если имя файла заканчивается на
.zip, по умолчанию используетсяcontent: 'attach'. -
mode"full" | "minimal" (необязательно)Если задано значение
minimal, из HAR записывается только информация, необходимая для маршрутизации. Не записываются размеры, временные отметки, сведения о страницах, файлах cookie, безопасности и другие типы данных HAR, не используемые при воспроизведении из HAR. По умолчанию используетсяfull. -
urlFilterstring | RegExp (необязательно)Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если в параметрах контекста задан baseURL, а переданный URL является путём, он объединяется с ним с помощью конструктора
new URL(). По умолчанию не задано.
Включает запись HAR для всех страниц в файл
recordHar.path. Если параметр не указан, запись HAR не ведётся. Чтобы файл HAR был сохранён, обязательно дождитесь завершения browserContext.close(). -
-
recordVideoObject (необязательно)-
dirstring (необязательно)Путь к каталогу для сохранения видео. Если не указан, видео сохраняются в
artifactsDir(см. параметры browserType.launch()). -
sizeObject (необязательно)Необязательные размеры записываемого видео. Если не указаны, размер будет равен
viewport, уменьшенному так, чтобы видео поместилось в область 800x800. Еслиviewportне задан явно, размер видео по умолчанию составляет 800x450. При необходимости изображение каждой страницы будет уменьшено, чтобы соответствовать указанному размеру. -
showActionsObject (необязательно)-
durationnumber (необязательно)Продолжительность отображения каждой аннотации в миллисекундах. По умолчанию используется
500. -
position"top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)Положение наложения с названием действия. По умолчанию используется
"top-right". -
fontSizenumber (необязательно)Размер шрифта названия действия в пикселях. По умолчанию используется
24. -
cursor"none" | "pointer" (необязательно)Оформление курсора, отображаемое при действиях с указателем.
"pointer"(значение по умолчанию) отображает указатель мыши, который перемещается от точки предыдущего действия к точке следующего."none"отключает отображение курсора.
Если параметр задан, во время записи видео на взаимодействующих элементах отображаются визуальные аннотации.
-
Включает запись видео для всех страниц в каталог
recordVideo.dir. Если параметр не указан, видео не записывается. Чтобы видео были сохранены, обязательно дождитесь завершения browserContext.close(). -
-
reducedMotionnull | "reduce" | "no-preference" (необязательно)Имитирует медиафункцию
'prefers-reduced-motion'. Поддерживаются значения'reduce','no-preference'. Подробнее см. в описании page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным настройкам по умолчанию. По умолчанию используется'no-preference'. -
screenObject (необязательно)Имитирует согласованный размер экрана окна, доступный на веб-странице через
window.screen. Используется только при заданном viewport. -
serviceWorkers"allow" | "block" (необязательно)Разрешать ли сайтам регистрировать Service Workers. По умолчанию используется
'allow'.-
'allow': можно регистрировать Service Workers. -
'block': Playwright блокирует всю регистрацию Service Workers.
-
-
storageStatestring | Object (необязательно)-
-
namestring -
valuestring -
domainstringНеобходимо указать домен и путь. Чтобы файл cookie применялся также ко всем поддоменам, добавьте перед доменом точку, например: ".example.com"
-
pathstringНеобходимо указать домен и путь
-
expiresnumberВремя Unix в секундах.
-
httpOnlyboolean -
secureboolean -
sameSite"Strict" | "Lax" | "None"Флаг sameSite
Файлы cookie, которые нужно задать для контекста
-
Подробнее о состоянии хранилища и аутентификации.
Заполняет контекст заданным состоянием хранилища. Этот параметр можно использовать для инициализации контекста информацией о выполненном входе, полученной с помощью browserContext.storageState().
-
-
strictSelectorsboolean (необязательно)Если задано значение true, для этого контекста включается строгий режим селекторов. В строгом режиме селекторов все операции с селекторами, которые подразумевают выбор одного целевого элемента DOM, вызовут ошибку, если селектору соответствует более одного элемента. Этот параметр не влияет на API Locator (Locator всегда работает в строгом режиме). По умолчанию используется
false. Подробнее о строгом режиме см. в описании Locator. -
timezoneIdstring (необязательно)Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt библиотеки ICU. По умолчанию используется системный часовой пояс.
-
-
userAgentstring (необязательно)Конкретный пользовательский агент, используемый в этом контексте.
-
viewportnull | Object (необязательно)Имитирует одинаковую область просмотра для каждой страницы. По умолчанию используется область просмотра размером 1280x720. Используйте
null, чтобы отключить эмуляцию одинаковой области просмотра. Подробнее об эмуляции области просмотра.примечаниеЗначение
nullотключает стандартные предустановки, а размер области просмотра зависит от размера окна хоста, заданного операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
removeAllListeners
Удаляет все обработчики указанного типа (или все зарегистрированные обработчики, если тип не указан). Позволяет дождаться завершения асинхронных обработчиков или игнорировать последующие ошибки этих обработчиков.
Использование
await browser.removeAllListeners(); await browser.removeAllListeners(type, options);
Аргументы
-
typestring (необязательно) -
optionsObject (необязательно)-
behavior"wait" | "ignoreErrors" | "default" (необязательно)Указывает, следует ли ожидать завершения уже выполняющихся обработчиков и что делать, если они выбрасывают ошибки:
-
'default'— не ждать завершения текущих вызовов обработчика (если они есть); если обработчик выбросит ошибку, она может остаться необработанной -
'wait'— ждать завершения текущих вызовов обработчика (если они есть) -
'ignoreErrors'— не ждать завершения текущих вызовов обработчика (если они есть); все ошибки, выброшенные обработчиками после удаления, будут перехвачены без уведомления
-
-
Возвращает
startTracing
примечаниеЭтот API управляет трассировкой Chromium — низкоуровневым средством отладки, специфичным для Chromium. API для управления трассировкой Playwright можно найти здесь.
С помощью browser.startTracing() и browser.stopTracing() можно создать файл трассировки, который можно открыть на панели производительности Chrome DevTools.
Использование
await browser.startTracing(page, { path: 'trace.json' });
await page.goto('https://www.google.com');
await browser.stopTracing(); Аргументы
-
pagePage (необязательно)Необязательный параметр; если он указан, трассировка будет включать снимки экрана указанной страницы.
-
optionsObject (необязательно)
Возвращает
stopTracing
примечаниеЭтот API управляет трассировкой Chromium — низкоуровневым средством отладки, специфичным для Chromium. API для управления трассировкой Playwright можно найти здесь.
Возвращает буфер с данными трассировки.
Использование
await browser.stopTracing();
Возвращает
unbind
Отменяет привязку сервера браузера, ранее выполненную с помощью browser.bind().
Использование
await browser.unbind();
Возвращает
version
Добавлено до v1.9Возвращает версию браузера.
Использование
browser.version();
Возвращает
События
on('context')
Вызывается при создании нового контекста браузера.
Использование
browser.on('context', data => {}); Данные события
on('disconnected')
Добавлено до v1.9Вызывается, когда соединение Browser с приложением браузера разрывается. Это может произойти по одной из следующих причин:
- Приложение браузера закрыто или аварийно завершило работу.
- Был вызван метод browser.close().
Использование
browser.on('disconnected', data => {}); Данные события
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-browser