Браузер
Браузер создается с помощью browserType.launch(). Пример использования браузера для создания страницы:
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();
})(); Методы
browserType
Получает тип браузера (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Объект (необязательно)-
reasonстрока (необязательно)Причина, которая должна быть сообщена операциям, прерванным закрытием браузера.
-
Возвращает
contexts
Добавлен до версии v1.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
Добавлен до версии v1.9Указывает, что браузер подключен.
Использование
browser.isConnected();
Возвращает
newBrowserCDPSession
примечаниеСессии CDP поддерживаются только в браузерах на основе Chromium.
Возвращает вновь созданную сессию браузера.
Использование
await browser.newBrowserCDPSession();
Возвращает
newContext
Добавлен до версии v1.9Создаёт новый контекст браузера. Он не будет совместно использовать куки/кеш с другими контекстами браузера.
примечаниеЕсли вы напрямую используете этот метод для создания 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();
})(); Аргументы
-
optionsОбъект (необязательно)-
acceptDownloadsлогическое (необязательно)Автоматически загружать все вложения. По умолчанию
true, где все загрузки принимаются. -
baseURLстрока (необязательно)При использовании 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логическое (необязательно)Включает/выключает обход Content-Security-Policy страницы. По умолчанию
false. -
clientCertificatesМассив<Объект> (необязательно)-
originстрокаТочный источник, для которого сертификат действителен. Источник включает
httpsпротокол, имя хоста и необязательно порт. -
certPathстрока (необязательно)Путь к файлу с сертификатом в формате PEM.
-
certБуфер (необязательно)Прямое значение сертификата в формате PEM.
-
keyPathстрока (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
keyБуфер (необязательно)Прямое значение закрытого ключа в формате PEM.
-
pfxPathстрока (необязательно)Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.
-
pfxБуфер (необязательно)Прямое значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.
-
passphraseстрока (необязательно)Пароль для закрытого ключа (PEM или PFX).
TLS-аутентификация клиента позволяет серверу запросить сертификат клиента и проверить его.
Подробности
Массив клиентских сертификатов для использования. Каждый объект сертификата должен иметь либо оба
certPathиkeyPath, либо одиночныйpfxPath, или их соответствующие эквиваленты прямых значений (certиkey, илиpfx). Необязательно, свойствоpassphraseдолжно быть указано, если сертификат зашифрован. Свойствоoriginдолжно быть указано с точным соответствием источнику запроса, для которого сертификат действителен.заметкаПри использовании WebKit на macOS доступ к
localhostне позволит получить клиентские сертификаты. Вы можете это исправить, заменивlocalhostнаlocal.playwright. -
-
colorSchemenull | "светлая" | "тёмная" | "без предпочтения" (необязательно)Эмулирует prefers-colors-scheme медиа-функцию, поддерживаемые значения —
'light'и'dark'. См. page.emulateMedia() для получения дополнительных сведений. Передачаnullсбрасывает эмуляцию до системных значений. По умолчанию'light'. -
deviceScaleFactorчисло (необязательно)Указать коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию
1. Узнайте больше о эмуляции устройств с коэффициентом масштабирования устройства. -
extraHTTPHeadersОбъект<строка, строка> (необязательно)Объект, содержащий дополнительные HTTP-заголовки, которые необходимо отправлять с каждым запросом. По умолчанию — нет.
-
forcedColorsnull | "активный" | "нет" (необязательно)Эмулирует
'forced-colors'медиа-функцию, поддерживаемые значения —'active','none'. См. page.emulateMedia() для получения дополнительных сведений. Передачаnullсбрасывает эмуляцию до системных значений. По умолчанию'none'. -
geolocationОбъект (необязательно) -
hasTouchлогическое (необязательно)Указывает, поддерживает ли viewport события touch. По умолчанию false. Узнайте больше о эмуляции мобильных устройств.
-
httpCredentialsОбъект (необязательно)-
usernameстрока -
passwordстрока -
originстрока (необязательно)Ограничить отправку http-аутентификационных данных для определенного источника (scheme://host:port).
-
send"неавторизован" | "всегда" (необязательно)Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'- заголовокAuthorizationс учетными данными аутентификации Basic будет отправляться с каждым API-запросом.'unauthorized- учетные данные отправляются только при получении ответа 401 (Неавторизован) с заголовкомWWW-Authenticate. По умолчанию'unauthorized'.
Данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любой сервер при ответе "неавторизован".
-
-
ignoreHTTPSErrorsлогическое (необязательно)Игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию
false.
-
-
isMobileboolean (необязательно)Учитывать ли
meta viewportтэг и разрешены ли сенсорные события. isMobile входит в состав device, поэтому вам не нужно устанавливать его вручную. По умолчанию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 не записывается. Убедитесь, что дождались завершения browserContext.close(), чтобы HAR был сохранен. -
-
recordVideoObject (необязательно)-
dirstringПуть к каталогу для размещения видео.
-
sizeObject (необязательно)Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport, уменьшенный до 800x800. Еслиviewportне задан явно, размер видео по умолчанию равен 800x450. Фактическое изображение каждой страницы будет уменьшено при необходимости, чтобы поместиться в указанный размер.
Включает запись видео для всех страниц в каталог
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.
-
-
-
storageStateстрока | объект (необязательно)-
cookiesмассив<объект>-
nameстрока -
valueстрока -
domainстрокаДомен и путь обязательны. Для применения куки ко всем поддоменам, добавьте перед доменом точку, например: ".example.com"
-
pathстрокаДомен и путь обязательны
-
expiresчислоВремя Unix в секундах.
-
httpOnlyлогическое -
secureлогическое -
sameSite"Строгий" | "Расслабленный" | "Отсутствует"флаг sameSite
-
-
originsмассив<объект> localStorage для установки в контекст
Узнайте больше о состоянии хранилища и авторизации.
Заполняет контекст заданным состоянием хранилища. Этот параметр может использоваться для инициализации контекста информацией о вошедшем пользователе, полученной с помощью browserContext.storageState().
-
-
strictSelectorsлогическое (необязательно)Если установлено в true, включает режим строгих селекторов для этого контекста. В режиме строгих селекторов все операции с селекторами, подразумевающие единственный целевой элемент DOM, будут вызывать исключение, если селектору соответствует более одного элемента. Этот параметр не влияет на API локаторов (локаторы всегда строгие). По умолчанию
false. Подробнее о режиме строгости см. Locator. -
timezoneIdстрока (необязательно)Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в metaZones.txt ICU. По умолчанию используется системный часовой пояс.
-
userAgentстрока (необязательно)Конкретный пользовательский агент для использования в этом контексте.
-
videoSizeобъект (необязательно)УстарелоИспользуйте recordVideo вместо этого.
-
videosPathстрока (необязательно)УстарелоИспользуйте recordVideo вместо этого.
-
viewportnull | объект (необязательно)Эмулирует постоянный viewport для каждой страницы. По умолчанию используется viewport 1280x720. Используйте
nullдля отключения эмуляции постоянного viewport. Подробнее о эмуляции viewport.примечаниеЗначение
nullотключает настройки по умолчанию, делает viewport зависимым от размера окна хоста, определенного операционной системой. Это делает выполнение тестов не детерминированным.
-
Возвращает
newPage
Добавлена до версии v1.9Создает новую страницу в новом контексте браузера. Закрытие этой страницы также закроет контекст.
Этот API удобен и должен использоваться только в сценариях с одной страницей и коротких фрагментах кода. Продукционный код и фреймворки для тестирования должны явно создавать browser.newContext(), а затем browserContext.newPage(), чтобы управлять точными сроками жизни.
Использование
await browser.newPage(); await browser.newPage(options);
Аргументы
-
optionsОбъект (необязательно)-
acceptDownloadsboolean (необязательно)Автоматически загружать все вложения. По умолчанию
true, где все загрузки принимаются. -
baseURLстрока (необязательно)При использовании 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. -
clientCertificatesМассив<Объект> (необязательно)-
originстрокаТочный источник, для которого сертификат действителен. Источник включает
httpsпротокол, имя хоста и необязательно порт. -
certPathстрока (необязательно)Путь к файлу с сертификатом в формате PEM.
-
certБуфер (необязательно)Прямое значение сертификата в формате PEM.
-
keyPathстрока (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
keyБуфер (необязательно)Прямое значение закрытого ключа в формате PEM.
-
pfxPathстрока (необязательно)Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.
-
pfxБуфер (необязательно)Прямое значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.
-
passphraseстрока (необязательно)Пароль для закрытого ключа (PEM или PFX).
TLS-аутентификация клиента позволяет серверу запросить сертификат клиента и проверить его.
Подробности
Массив используемых сертификатов клиента. Каждый объект сертификата должен содержать либо и
certPathиkeyPath, либо одиночныйpfxPath, или их соответствующие эквиваленты прямых значений (certиkey, илиpfx). Дополнительно, свойствоpassphraseдолжно быть предоставлено, если сертификат зашифрован. Свойствоoriginдолжно быть предоставлено с точным соответствием источнику запроса, для которого сертификат действителен.заметкаПри использовании WebKit на macOS доступ к
localhostне будет выбирать сертификаты клиента. Вы можете заставить это работать, заменивlocalhostнаlocal.playwright. -
-
colorSchemenull | "светлый" | "темный" | "без предпочтений" (необязательно)Эмулирует средство массовой информации prefers-colors-scheme, поддерживаемые значения —
'light'и'dark'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных значений. По умолчанию'light'. -
deviceScaleFactorчисло (необязательно)Укажите коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию
1. Дополнительные сведения об эмуляции устройств с коэффициентом масштабирования устройства. -
extraHTTPHeadersОбъект<строка, строка> (необязательно)Объект, содержащий дополнительные HTTP-заголовки, которые будут отправляться с каждым запросом. По умолчанию — нет.
-
forcedColorsnull | "активный" | "нет" (необязательно)Эмулирует
'forced-colors'средство массовой информации, поддерживаемые значения —'active','none'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных значений. По умолчанию'none'. -
geolocationОбъект (необязательно) -
hasTouchboolean (необязательно)Указывает, поддерживает ли viewport события касания. По умолчанию false. Дополнительные сведения об мобильной эмуляции.
-
httpCredentialsОбъект (необязательно)-
usernameстрока -
passwordстрока -
originстрока (необязательно)Ограничить отправку http-креденциалов для определенного источника (scheme://host:port).
-
send"неавторизованный" | "всегда" (необязательно)Этот параметр применим только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'-Authorizationзаголовок с базовыми аутентификационными данными будет отправлен с каждым API-запросом.'unauthorized- учетные данные отправляются только при получении ответа 401 (Неавторизованный) с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 не производится. Убедитесь, что ожидаете browserContext.close() для сохранения HAR. -
-
recordVideoObject (необязательно)-
dirstringПуть к каталогу для размещения видео.
-
sizeObject (необязательно)Необязательные размеры записанных видео. Если не указано, размер будет равен
viewport, масштабированному для вписывания в 800x800. Еслиviewportне настроен явно, размер видео по умолчанию составляет 800x450. Фактическое изображение каждой страницы будет масштабировано при необходимости, чтобы поместиться в указанный размер.
Включает запись видео для всех страниц в каталог
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" (необязательно)Разрешить сайтам регистрировать сервисные рабочие процессы. По умолчанию
'allow'.-
'allow': Сервисные рабочие процессы могут быть зарегистрированы. -
'block': Playwright заблокирует любую регистрацию сервисных рабочих процессов.
-
-
-
storageStateстрока | объект (необязательно)-
cookiesмассив<объект>-
nameстрока -
valueстрока -
domainстрокаДомен и путь обязательны. Чтобы куки применялись ко всем поддоменам, добавьте точку перед доменом, например: ".example.com"
-
pathстрокаДомен и путь обязательны
-
expiresчислоВремя в Unix-формате, секунды.
-
httpOnlyлогическое -
secureлогическое -
sameSite"Жесткий" | "Расслабленный" | "Отсутствует"Флаг sameSite
-
-
originsмассив<объект> localStorage для контекста
Дополнительную информацию о состоянии хранилища и аутентификации см. здесь.
Заполняет контекст заданным состоянием хранилища. Этот параметр можно использовать для инициализации контекста данными вошедшего пользователя, полученными с помощью browserContext.storageState().
-
-
strictSelectorsлогическое (необязательно)Если установлено в значение true, активирует режим строгих селекторов для данного контекста. В режиме строгих селекторов все операции с селекторами, предполагающие единственный целевой элемент DOM, будут вызывать исключение, если селектору соответствует более одного элемента. Этот параметр не влияет на API локализации (локализации всегда строгие). По умолчанию
false. Дополнительную информацию о режиме строгости см. в Locator. -
timezoneIdстрока (необязательно)Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в metaZones.txt ICU. По умолчанию используется системный часовой пояс.
-
userAgentстрока (необязательно)Конкретный пользовательский агент для использования в данном контексте.
-
videoSizeобъект (необязательно)УстарелоИспользуйте recordVideo вместо этого.
-
videosPathстрока (необязательно)УстарелоИспользуйте recordVideo вместо этого.
-
viewportnull | объект (необязательно)Эмулирует постоянный viewport для каждой страницы. По умолчанию используется viewport 1280x720. Используйте
nullдля отключения эмуляции постоянного viewport. Дополнительную информацию см. в viewport emulation.примечаниеЗначение
nullотключает предустановленные параметры по умолчанию, делает viewport зависимым от размера окна хоста, определяемого операционной системой. Это делает выполнение тестов непредсказуемым.
-
Возвращает
removeAllListeners
Удаляет все слушатели указанного типа (или все зарегистрированные слушатели, если тип не задан). Позволяет дождаться завершения асинхронных слушателей или игнорировать последующие ошибки от этих слушателей.
Использование
await browser.removeAllListeners(); await browser.removeAllListeners(type, options);
Аргументы
-
typeстрока (необязательно) -
optionsобъект (необязательно)-
behavior"ожидание" | "игнорировать ошибки" | "по умолчанию" (необязательно)Указывает, нужно ли ожидать выполнения уже запущенных слушателей и что делать, если они выбросят ошибки:
-
'default'- не ждать завершения текущих вызовов слушателей (если таковые имеются), при возникновении ошибки слушателем может произойти непредвиденная ошибка -
'wait'- подождать завершения текущих вызовов слушателей (если таковые имеются) -
'ignoreErrors'- не ждать завершения текущих вызовов слушателей (если таковые имеются), все ошибки, сгенерированные слушателями после удаления, будут молча перехвачены
-
-
Возвращает
startTracing
примечаниеЭтот 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(); Аргументы
-
pageСтраница (необязательно)Необязательно. Если указано, трассировка включает скриншоты заданной страницы.
-
optionsОбъект (необязательно)
Возвращает
stopTracing
примечаниеЭтот API управляет Chromium Tracing, который является низкоуровневым инструментом отладки, специфичным для Chromium. API для управления Playwright Tracing можно найти здесь.
Возвращает буфер с данными трассировки.
Использование
await browser.stopTracing();
Возвращает
version
Добавлена до v1.9Возвращает версию браузера.
Использование
browser.version();
Возвращает
События
on('disconnected')
Добавлена до v1.9Вызывается, когда браузер отключается от приложения браузера. Это может произойти по одной из следующих причин:
- Приложение браузера закрыто или аварийно завершено.
- Вызван метод browser.close().
Использование
browser.on('disconnected', data => {}); Данные события
© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-browser