Browser
Браузер создается с помощью browserType.launch(). Пример использования Browser для создания Page:
const { firefox } = require('playwright'); // Или 'chromium', или 'webkit'.
(async () => {
const browser = await firefox.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
})();
Методы
browserType
Добавлено в: v1.23Получает тип браузера (chromium, firefox или webkit), к которому принадлежит браузер.
Использование
browser.browserType();
Возвращает
close
Добавлено до v1.9Если этот браузер был получен с помощью browserType.launch(), закрывает браузер и все его страницы (если они были открыты).
Если этот браузер подключен, очищает все созданные контексты, принадлежащие этому браузеру, и отключается от сервера браузера.
Это похоже на принудительное завершение работы браузера. Чтобы закрыть страницы корректно и убедиться, что вы получаете события закрытия страниц, вызовите browserContext.close() на любых экземплярах BrowserContext, которые вы явно создали ранее с помощью browser.newContext() перед вызовом browser.close().
Объект Browser считается утилизированным и больше не может быть использован.
Использование
await browser.close();
await browser.close(options);
Аргументы
options
[Object] (необязательно)-
reason
[string] (необязательно) Добавлено в: v1.40#Причина, которая будет сообщена о прерываниях операций из-за закрытия браузера.
-
Возвращает
contexts
Добавлено до v1.9Возвращает массив всех открытых контекстов браузера. В новом браузере это вернет ноль контекстов браузера.
Использование
const browser = await pw.webkit.launch();
console.log(browser.contexts().length); // выводит `0`
const context = await browser.newContext();
console.log(browser.contexts().length); // выводит `1`
Возвращает
isConnected
Добавлено до v1.9Указывает, что браузер подключен.
Использование
browser.isConnected();
Возвращает
- [boolean]#
newBrowserCDPSession
Добавлено в: v1.11CDP-сессии поддерживаются только в браузерах на основе Chromium.
Возвращает вновь созданную сессию браузера.
Использование
await browser.newBrowserCDPSession();
Возвращает
newContext
Добавлено до v1.9Создает новый контекст браузера. Он не будет делиться куками/кэшем с другими контекстами браузера.
Если вы используете этот метод для создания BrowserContexts, рекомендуется явно закрывать возвращаемый контекст с помощью browserContext.close(), когда ваш код завершит работу с BrowserContext, и перед вызовом browser.close(). Это обеспечит корректное закрытие context
и полное сохранение любых артефактов, таких как HAR и видео.
Использование
(async () => {
const browser = await playwright.firefox.launch(); // Или 'chromium', или 'webkit'.
// Создать новый инкогнито контекст браузера.
const context = await browser.newContext();
// Создать новую страницу в чистом контексте.
const page = await context.newPage();
await page.goto('https://example.com');
// Корректно закрыть все
await context.close();
await browser.close();
})();
Аргументы
options
[Object] (необязательно)-
acceptDownloads
[boolean] (необязательно)#Указывает, следует ли автоматически загружать все вложения. По умолчанию
true
, при этом все загрузки принимаются. -
baseURL
[string] (необязательно)#При использовании 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:
-
bypassCSP
[boolean] (необязательно)#Переключает обход политики безопасности контента страницы. По умолчанию
false
. -
clientCertificates
Array<[Object]> (необязательно) Добавлено в: 1.46#-
origin
[string]Точный источник, для которого сертификат действителен. Источник включает протокол
https
, имя хоста и, возможно, порт. -
certPath
[string] (необязательно)Путь к файлу с сертификатом в формате PEM.
-
cert
[Buffer] (необязательно)Прямое значение сертификата в формате PEM.
-
keyPath
[string] (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
key
[Buffer] (необязательно)Прямое значение закрытого ключа в формате PEM.
-
pfxPath
[string] (необязательно)Путь к PFX или PKCS12 закодированному закрытому ключу и цепочке сертификатов.
-
pfx
[Buffer] (необязательно)Прямое значение PFX или PKCS12 закодированного закрытого ключа и цепочки сертификатов.
-
passphrase
[string] (необязательно)Пароль для закрытого ключа (PEM или PFX).
TLS-аутентификация клиента позволяет серверу запрашивать клиентский сертификат и проверять его.
Детали
Массив клиентских сертификатов для использования. Каждый объект сертификата должен иметь либо оба
certPath
иkeyPath
, либо одинpfxPath
, либо их соответствующие прямые значения (cert
иkey
, илиpfx
). Опционально, свойствоpassphrase
должно быть предоставлено, если сертификат зашифрован. Свойствоorigin
должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.noteПри использовании WebKit на macOS доступ к
localhost
не будет учитывать клиентские сертификаты. Вы можете сделать это, заменивlocalhost
наlocal.playwright
. -
-
colorScheme
[null] | "light" | "dark" | "no-preference" (необязательно)#Эмулирует медиа-функцию prefers-colors-scheme, поддерживаемые значения:
'light'
и'dark'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'light'
. -
contrast
[null] | "no-preference" | "more" (необязательно)#Эмулирует медиа-функцию
'prefers-contrast'
, поддерживаемые значения:'no-preference'
,'more'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
deviceScaleFactor
[number] (необязательно)#Указывает коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию
1
. Узнайте больше о эмуляции устройств с коэффициентом масштабирования устройства. -
extraHTTPHeaders
[Object]<[string], [string]> (необязательно)#Объект, содержащий дополнительные HTTP-заголовки, которые будут отправлены с каждым запросом. По умолчанию отсутствуют.
-
forcedColors
[null] | "active" | "none" (необязательно)#Эмулирует медиа-функцию
'forced-colors'
, поддерживаемые значения:'active'
,'none'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'none'
. -
geolocation
[Object] (необязательно)#-
latitude
[number]Широта от -90 до 90.
-
longitude
[number]Долгота от -180 до 180.
-
accuracy
[number] (необязательно)Ненегативное значение точности. По умолчанию
0
.
-
-
hasTouch
[boolean] (необязательно)#Указывает, поддерживает ли область просмотра события касания. По умолчанию false. Узнайте больше о мобильной эмуляции.
-
httpCredentials
[Object] (необязательно)#-
username
[string] -
password
[string] -
origin
[string] (необязательно)Ограничивает отправку http-учетных данных на конкретный источник (scheme://host:port).
-
send
"unauthorized" | "always" (необязательно)Эта опция применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'
- заголовокAuthorization
с учетными данными базовой аутентификации будет отправлен с каждым API-запросом.'unauthorized
- учетные данные отправляются только при получении ответа 401 (Unauthorized) с заголовкомWWW-Authenticate
. По умолчанию'unauthorized'
.
Учетные данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любые серверы при несанкционированных ответах.
-
-
ignoreHTTPSErrors
[boolean] (необязательно)#Указывает, следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию
false
. -
isMobile
[boolean] (необязательно)#Указывает, учитывается ли тег
meta viewport
и включены ли события касания. isMobile является частью устройства, поэтому вам не нужно устанавливать его вручную. По умолчаниюfalse
и не поддерживается в Firefox. Узнайте больше о мобильной эмуляции. -
javaScriptEnabled
[boolean] (необязательно)#Указывает, следует ли включать JavaScript в контексте. По умолчанию
true
. Узнайте больше о отключении JavaScript. -
locale
[string] (необязательно)#Укажите локаль пользователя, например
en-GB
,de-DE
и т.д. Локаль повлияет на значениеnavigator.language
, значение заголовка запросаAccept-Language
, а также на правила форматирования чисел и дат. По умолчанию используется локаль по умолчанию системы. Узнайте больше о эмуляции в нашем руководстве по эмуляции. -
logger
Logger (необязательно)#Логгер для ведения журнала Playwright.
-
offline
[boolean] (необязательно)#Указывает, следует ли эмулировать отключение сети. По умолчанию
false
. Узнайте больше о эмуляции сети. -
permissions
Array<[string]> (необязательно)#Список разрешений, которые будут предоставлены всем страницам в этом контексте. См. browserContext.grantPermissions() для получения дополнительных сведений. По умолчанию отсутствуют.
-
proxy
[Object] (необязательно)#-
server
[string]Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128
илиsocks5://myproxy.com:3128
. Краткая формаmyproxy.com:3128
считается HTTP-прокси. -
bypass
[string] (необязательно)Необязательные домены, разделенные запятыми, для обхода прокси, например
".com, chromium.org, .domain.com"
. -
username
[string] (необязательно)Необязательное имя пользователя для использования, если HTTP-прокси требует аутентификации.
-
password
[string] (необязательно)Необязательный пароль для использования, если HTTP-прокси требует аутентификации.
Настройки сетевого прокси для использования с этим контекстом. По умолчанию отсутствуют.
-
-
recordHar
[Object] (необязательно)#-
omitContent
[boolean] (необязательно)Необязательная настройка для управления тем, следует ли исключать содержимое запроса из HAR. По умолчанию
false
. Устарело, используйте политикуcontent
вместо этого. -
content
"omit" | "embed" | "attach" (необязательно)Необязательная настройка для управления управлением содержимым ресурсов. Если указано
omit
, содержимое не сохраняется. Если указаноattach
, ресурсы сохраняются как отдельные файлы или записи в ZIP-архиве. Если указаноembed
, содержимое хранится встроенным в файл HAR в соответствии со спецификацией HAR. По умолчаниюattach
для файлов вывода.zip
иembed
для всех других расширений файлов. -
path
[string]Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip
, по умолчанию используетсяcontent: 'attach'
. -
mode
"full" | "minimal" (необязательно)При установке в
minimal
записывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницы, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчаниюfull
. -
urlFilter
[string] | [RegExp] (необязательно)Шаблон glob или regex для фильтрации запросов, которые хранятся в HAR. Когда был предоставлен baseURL через параметры контекста, и переданный URL является путем, он объединяется с помощью конструктора
new URL()
. По умолчанию отсутствует.
Включает запись HAR для всех страниц в файл
recordHar.path
. Если не указано, HAR не записывается. Убедитесь, что вы дождались browserContext.close() для сохранения HAR. -
-
recordVideo
[Object] (необязательно)#-
dir
[string]Путь к директории для сохранения видео.
-
size
[Object] (необязательно)-
width
[number]Ширина видео.
-
height
[number]Высота видео.
Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport
, уменьшенному для соответствия 800x800. Еслиviewport
не настроен явно, размер видео по умолчанию составляет 800x450. Фактическое изображение каждой страницы будет уменьшено, если это необходимо, чтобы соответствовать указанному размеру. -
Включает запись видео для всех страниц в директорию
recordVideo.dir
. Если не указано, видео не записываются. Убедитесь, что вы дождались browserContext.close() для сохранения видео. -
-
reducedMotion
[null] | "reduce" | "no-preference" (необязательно)#Эмулирует медиа-функцию
'prefers-reduced-motion'
, поддерживаемые значения:'reduce'
,'no-preference'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
screen
[Object] (необязательно)#-
width
[number]ширина страницы в пикселях.
-
height
[number]высота страницы в пикселях.
Эмулирует постоянный размер экрана окна, доступного внутри веб-страницы через
window.screen
. Используется только при установке viewport. -
-
serviceWorkers
"allow" | "block" (необязательно)#Указывает, разрешено ли сайтам регистрировать сервисные рабочие процессы. По умолчанию
'allow'
.'allow'
: Сервисные рабочие процессы могут быть зарегистрированы.'block'
: Playwright будет блокировать все регистрации сервисных рабочих процессов.
-
storageState
[string] | [Object] (необязательно)#cookies
Array<[Object]>-
name
[string] -
value
[string] -
domain
[string]Домен и путь обязательны. Чтобы куки применялись ко всем поддоменам, префикс домена должен быть точкой, например: ".example.com"
-
path
[string]Домен и путь обязательны.
-
expires
[number]Время Unix в секундах.
-
httpOnly
[boolean] -
secure
[boolean] -
sameSite
"Strict" | "Lax" | "None"флаг sameSite
-
origins
Array<[Object]>-
origin
[string] -
localStorage
Array<[Object]>-
name
[string] -
value
[string]
localStorage для установки для контекста.
-
-
Узнайте больше о состоянии хранилища и аутентификации.
Заполняет контекст заданным состоянием хранилища. Эта опция может быть использована для инициализации контекста с информацией о входе, полученной через browserContext.storageState().
-
strictSelectors
[boolean] (необязательно)#Если установлено в true, включает строгий режим селекторов для этого контекста. В строгом режиме селекторов все операции на селекторах, которые подразумевают единственный целевой элемент DOM, будут вызывать ошибку, если совпадает более одного элемента. Эта опция не влияет на любые API локаторов (локаторы всегда строгие). По умолчанию
false
. См. Locator, чтобы узнать больше о строгом режиме. -
timezoneId
[string] (необязательно)#Изменяет часовой пояс контекста. См. metaZones.txt ICU для списка поддерживаемых идентификаторов часовых поясов. По умолчанию используется часовой пояс системы.
-
userAgent
[string] (необязательно)#Специфический пользовательский агент для использования в этом контексте.
-
videoSize
[Object] (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
width
[number]Ширина видео.
-
height
[number]Высота видео.
-
-
videosPath
[string] (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
viewport
[null] | [Object] (необязательно)#-
width
[number]ширина страницы в пикселях.
-
height
[number]высота страницы в пикселях.
Эмулирует постоянный размер области просмотра для каждой страницы. По умолчанию 1280x720. Используйте
null
, чтобы отключить эмуляцию постоянного размера области просмотра. Узнайте больше о эмуляции области просмотра.noteЗначение
null
исключает из стандартных предустановок, делает размер области просмотра зависимым от размера окна хоста, определенного операционной системой. Это делает выполнение тестов недетерминированным. -
-
Возвращает
newPage
Добавлено до v1.9Создает новую страницу в новом контексте браузера. Закрытие этой страницы также закроет контекст.
Это удобный API, который следует использовать только для сценариев с одной страницей и коротких фрагментов. Код в производственной среде и тестовые фреймворки должны явно создавать browser.newContext(), за которым следует browserContext.newPage(), чтобы контролировать их точные сроки жизни.
Использование
await browser.newPage();
await browser.newPage(options);
Аргументы
options
[Object] (необязательно)-
acceptDownloads
[boolean] (необязательно)#Указывает, следует ли автоматически загружать все вложения. По умолчанию
true
, при этом все загрузки принимаются. -
baseURL
[string] (необязательно)#При использовании 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:
-
bypassCSP
[boolean] (необязательно)#Переключает обход политики безопасности контента страницы. По умолчанию
false
. -
clientCertificates
Array<[Object]> (необязательно) Добавлено в: 1.46#-
origin
[string]Точный источник, для которого сертификат действителен. Источник включает протокол
https
, имя хоста и, возможно, порт. -
certPath
[string] (необязательно)Путь к файлу с сертификатом в формате PEM.
-
cert
[Buffer] (необязательно)Прямое значение сертификата в формате PEM.
-
keyPath
[string] (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
key
[Buffer] (необязательно)Прямое значение закрытого ключа в формате PEM.
-
pfxPath
[string] (необязательно)Путь к PFX или PKCS12 закодированному закрытому ключу и цепочке сертификатов.
-
pfx
[Buffer] (необязательно)Прямое значение PFX или PKCS12 закодированного закрытого ключа и цепочки сертификатов.
-
passphrase
[string] (необязательно)Пароль для закрытого ключа (PEM или PFX).
TLS-аутентификация клиента позволяет серверу запрашивать клиентский сертификат и проверять его.
Детали
Массив клиентских сертификатов для использования. Каждый объект сертификата должен иметь либо оба
certPath
иkeyPath
, либо одинpfxPath
, либо их соответствующие прямые значения (cert
иkey
, илиpfx
). Опционально, свойствоpassphrase
должно быть предоставлено, если сертификат зашифрован. Свойствоorigin
должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.noteПри использовании WebKit на macOS доступ к
localhost
не будет учитывать клиентские сертификаты. Вы можете сделать это, заменивlocalhost
наlocal.playwright
. -
-
colorScheme
[null] | "light" | "dark" | "no-preference" (необязательно)#Эмулирует медиа-функцию prefers-colors-scheme, поддерживаемые значения:
'light'
и'dark'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'light'
. -
contrast
[null] | "no-preference" | "more" (необязательно)#Эмулирует медиа-функцию
'prefers-contrast'
, поддерживаемые значения:'no-preference'
,'more'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
deviceScaleFactor
[number] (необязательно)#Указывает коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию
1
. Узнайте больше о эмуляции устройств с коэффициентом масштабирования устройства. -
extraHTTPHeaders
[Object]<[string], [string]> (необязательно)#Объект, содержащий дополнительные HTTP-заголовки, которые будут отправлены с каждым запросом. По умолчанию отсутствуют.
-
forcedColors
[null] | "active" | "none" (необязательно)#Эмулирует медиа-функцию
'forced-colors'
, поддерживаемые значения:'active'
,'none'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'none'
. -
geolocation
[Object] (необязательно)#-
latitude
[number]Широта от -90 до 90.
-
longitude
[number]Долгота от -180 до 180.
-
accuracy
[number] (необязательно)Ненегативное значение точности. По умолчанию
0
.
-
-
hasTouch
[boolean] (необязательно)#Указывает, поддерживает ли область просмотра события касания. По умолчанию false. Узнайте больше о мобильной эмуляции.
-
httpCredentials
[Object] (необязательно)#-
username
[string] -
password
[string] -
origin
[string] (необязательно)Ограничивает отправку http-учетных данных на конкретный источник (scheme://host:port).
-
send
"unauthorized" | "always" (необязательно)Эта опция применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'
- заголовокAuthorization
с учетными данными базовой аутентификации будет отправлен с каждым API-запросом.'unauthorized
- учетные данные отправляются только при получении ответа 401 (Unauthorized) с заголовкомWWW-Authenticate
. По умолчанию'unauthorized'
.
Учетные данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любые серверы при несанкционированных ответах.
-
-
ignoreHTTPSErrors
[boolean] (необязательно)#Указывает, следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию
false
. -
isMobile
[boolean] (необязательно)#Указывает, учитывается ли тег
meta viewport
и включены ли события касания. isMobile является частью устройства, поэтому вам не нужно устанавливать его вручную. По умолчаниюfalse
и не поддерживается в Firefox. Узнайте больше о мобильной эмуляции. -
javaScriptEnabled
[boolean] (необязательно)#Указывает, следует ли включать JavaScript в контексте. По умолчанию
true
. Узнайте больше о отключении JavaScript. -
locale
[string] (необязательно)#Укажите локаль пользователя, например
en-GB
,de-DE
и т.д. Локаль повлияет на значениеnavigator.language
, значение заголовка запросаAccept-Language
, а также на правила форматирования чисел и дат. По умолчанию используется локаль по умолчанию системы. Узнайте больше о эмуляции в нашем руководстве по эмуляции. -
logger
Logger (необязательно)#Логгер для ведения журнала Playwright.
-
offline
[boolean] (необязательно)#Указывает, следует ли эмулировать отключение сети. По умолчанию
false
. Узнайте больше о эмуляции сети. -
permissions
Array<[string]> (необязательно)#Список разрешений, которые будут предоставлены всем страницам в этом контексте. См. browserContext.grantPermissions() для получения дополнительных сведений. По умолчанию отсутствуют.
-
proxy
[Object] (необязательно)#-
server
[string]Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128
илиsocks5://myproxy.com:3128
. Краткая формаmyproxy.com:3128
считается HTTP-прокси. -
bypass
[string] (необязательно)Необязательные домены, разделенные запятыми, для обхода прокси, например
".com, chromium.org, .domain.com"
. -
username
[string] (необязательно)Необязательное имя пользователя для использования, если HTTP-прокси требует аутентификации.
-
password
[string] (необязательно)Необязательный пароль для использования, если HTTP-прокси требует аутентификации.
Настройки сетевого прокси для использования с этим контекстом. По умолчанию отсутствуют.
-
-
recordHar
[Object] (необязательно)#-
omitContent
[boolean] (необязательно)Необязательная настройка для управления тем, следует ли исключать содержимое запроса из HAR. По умолчанию
false
. Устарело, используйте политикуcontent
вместо этого. -
content
"omit" | "embed" | "attach" (необязательно)Необязательная настройка для управления управлением содержимым ресурсов. Если указано
omit
, содержимое не сохраняется. Если указаноattach
, ресурсы сохраняются как отдельные файлы или записи в ZIP-архиве. Если указаноembed
, содержимое хранится встроенным в файл HAR в соответствии со спецификацией HAR. По умолчаниюattach
для файлов вывода.zip
иembed
для всех других расширений файлов. -
path
[string]Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip
, по умолчанию используетсяcontent: 'attach'
. -
mode
"full" | "minimal" (необязательно)При установке в
minimal
записывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницы, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчаниюfull
. -
urlFilter
[string] | [RegExp] (необязательно)Шаблон glob или regex для фильтрации запросов, которые хранятся в HAR. Когда был предоставлен baseURL через параметры контекста, и переданный URL является путем, он объединяется с помощью конструктора
new URL()
. По умолчанию отсутствует.
Включает запись HAR для всех страниц в файл
recordHar.path
. Если не указано, HAR не записывается. Убедитесь, что вы дождались browserContext.close() для сохранения HAR. -
-
recordVideo
[Object] (необязательно)#-
dir
[string]Путь к директории для сохранения видео.
-
size
[Object] (необязательно)-
width
[number]Ширина видео.
-
height
[number]Высота видео.
Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport
, уменьшенному для соответствия 800x800. Еслиviewport
не настроен явно, размер видео по умолчанию составляет 800x450. Фактическое изображение каждой страницы будет уменьшено, если это необходимо, чтобы соответствовать указанному размеру. -
Включает запись видео для всех страниц в директорию
recordVideo.dir
. Если не указано, видео не записываются. Убедитесь, что вы дождались browserContext.close() для сохранения видео. -
-
reducedMotion
[null] | "reduce" | "no-preference" (необязательно)#Эмулирует медиа-функцию
'prefers-reduced-motion'
, поддерживаемые значения:'reduce'
,'no-preference'
. См. page.emulateMedia() для получения дополнительных сведений. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
screen
[Object] (необязательно)#-
width
[number]ширина страницы в пикселях.
-
height
[number]высота страницы в пикселях.
Эмулирует постоянный размер экрана окна, доступного внутри веб-страницы через
window.screen
. Используется только при установке viewport. -
-
serviceWorkers
"allow" | "block" (необязательно)#Указывает, разрешено ли сайтам регистрировать сервисные рабочие процессы. По умолчанию
'allow'
.'allow'
: Сервисные рабочие процессы могут быть зарегистрированы.'block'
: Playwright будет блокировать все регистрации сервисных рабочих процессов.
-
storageState
[string] | [Object] (необязательно)#cookies
Array<[Object]>-
name
[string] -
value
[string] -
domain
[string]Домен и путь обязательны. Чтобы куки применялись ко всем поддоменам, префикс домена должен быть точкой, например: ".example.com"
-
path
[string]Домен и путь обязательны.
-
expires
[number]Время Unix в секундах.
-
httpOnly
[boolean] -
secure
[boolean] -
sameSite
"Strict" | "Lax" | "None"флаг sameSite
-
origins
Array<[Object]>-
origin
[string] -
localStorage
Array<[Object]>-
name
[string] -
value
[string]
localStorage для установки для контекста.
-
-
Узнайте больше о состоянии хранилища и аутентификации.
Заполняет контекст заданным состоянием хранилища. Эта опция может быть использована для инициализации контекста с информацией о входе, полученной через browserContext.storageState().
-
strictSelectors
[boolean] (необязательно)#Если установлено в true, включает строгий режим селекторов для этого контекста. В строгом режиме селекторов все операции на селекторах, которые подразумевают единственный целевой элемент DOM, будут вызывать ошибку, если совпадает более одного элемента. Эта опция не влияет на любые API локаторов (локаторы всегда строгие). По умолчанию
false
. См. Locator, чтобы узнать больше о строгом режиме. -
timezoneId
[string] (необязательно)#Изменяет часовой пояс контекста. См. metaZones.txt ICU для списка поддерживаемых идентификаторов часовых поясов. По умолчанию используется часовой пояс системы.
-
userAgent
[string] (необязательно)#Специфический пользовательский агент для использования в этом контексте.
-
videoSize
[Object] (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
width
[number]Ширина видео.
-
height
[number]Высота видео.
-
-
videosPath
[string] (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
viewport
[null] | [Object] (необязательно)#-
width
[number]ширина страницы в пикселях.
-
height
[number]высота страницы в пикселях.
Эмулирует постоянный размер области просмотра для каждой страницы. По умолчанию 1280x720. Используйте
null
, чтобы отключить эмуляцию постоянного размера области просмотра. Узнайте больше о эмуляции области просмотра.noteЗначение
null
исключает из стандартных предустановок, делает размер области просмотра зависимым от размера окна хоста, определенного операционной системой. Это делает выполнение тестов недетерминированным. -
-
Возвращает
removeAllListeners
Добавлено в: v1.47Удаляет всех слушателей данного типа (или всех зарегистрированных слушателей, если тип не указан). Позволяет дождаться завершения асинхронных слушателей или игнорировать последующие ошибки от этих слушателей.
Использование
await browser.removeAllListeners();
await browser.removeAllListeners(type, options);
Аргументы
type
[string] (необязательно)#options
[Object] (необязательно)-
behavior
"wait" | "ignoreErrors" | "default" (необязательно)#Указывает, следует ли ждать завершения уже работающих слушателей и что делать, если они вызывают ошибки:
'default'
- не ждать завершения текущих вызовов слушателей (если таковые имеются), если слушатель вызывает ошибку, это может привести к необработанной ошибке'wait'
- дождаться завершения текущих вызовов слушателей (если таковые имеются)'ignoreErrors'
- не ждать завершения текущих вызовов слушателей (если таковые имеются), все ошибки, вызванные слушателями после удаления, будут тихо перехвачены
-
Возвращает
startTracing
Добавлено в: v1.11Этот API управляет Chromium Tracing, который является низкоуровневым инструментом отладки, специфичным для Chromium. API для управления Playwright Tracing можно найти здесь.
Вы можете использовать browser.startTracing() и browser.stopTracing(), чтобы создать файл трассировки, который можно открыть в панели производительности Chrome DevTools.
Использование
await browser.startTracing(page, { path: 'trace.json' });
await page.goto('https://www.google.com');
await browser.stopTracing();
Аргументы
-
Необязательный параметр, если указан, трассировка включает скриншоты указанной страницы.
-
options
[Object] (необязательно)
Возвращает
stopTracing
Добавлено в: v1.11Этот API управляет Chromium Tracing, который является низкоуровневым инструментом отладки, специфичным для Chromium. API для управления Playwright Tracing можно найти здесь.
Возвращает буфер с данными трассировки.
Использование
await browser.stopTracing();
Возвращает
version
Добавлено до v1.9Возвращает версию браузера.
Использование
browser.version();
Возвращает
- [string]#
События
on('disconnected')
Добавлено до v1.9Событие, которое возникает, когда браузер отключается от приложения браузера. Это может произойти по одной из следующих причин:
- Приложение браузера закрыто или аварийно завершило работу.
- Метод browser.close() был вызван.
Использование
browser.on('disconnected', data => {});
Данные события
[boolean]: