Skip to main content

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 browser.browserType

Получает тип браузера (chromium, firefox или webkit), к которому принадлежит браузер.

Использование

browser.browserType();

Возвращает


close

Добавлено до v1.9 browser.close

Если этот браузер был получен с помощью browserType.launch(), закрывает браузер и все его страницы (если они были открыты).

Если этот браузер подключен, очищает все созданные контексты, принадлежащие этому браузеру, и отключается от сервера браузера.

note

Это похоже на принудительное завершение работы браузера. Чтобы закрыть страницы корректно и убедиться, что вы получаете события закрытия страниц, вызовите browserContext.close() на любых экземплярах BrowserContext, которые вы явно создали ранее с помощью browser.newContext() перед вызовом browser.close().

Объект Browser считается утилизированным и больше не может быть использован.

Использование

await browser.close();
await browser.close(options);

Аргументы

  • options [Object] (необязательно)
    • reason [string] (необязательно) Добавлено в: v1.40#

      Причина, которая будет сообщена о прерываниях операций из-за закрытия браузера.

Возвращает


contexts

Добавлено до v1.9 browser.contexts

Возвращает массив всех открытых контекстов браузера. В новом браузере это вернет ноль контекстов браузера.

Использование

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

Указывает, что браузер подключен.

Использование

browser.isConnected();

Возвращает

  • [boolean]#

newBrowserCDPSession

Добавлено в: v1.11 browser.newBrowserCDPSession
note

CDP-сессии поддерживаются только в браузерах на основе Chromium.

Возвращает вновь созданную сессию браузера.

Использование

await browser.newBrowserCDPSession();

Возвращает


newContext

Добавлено до v1.9 browser.newContext

Создает новый контекст браузера. Он не будет делиться куками/кэшем с другими контекстами браузера.

note

Если вы используете этот метод для создания 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
    • 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 browser.newPage

Создает новую страницу в новом контексте браузера. Закрытие этой страницы также закроет контекст.

Это удобный 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
    • 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 browser.removeAllListeners

Удаляет всех слушателей данного типа (или всех зарегистрированных слушателей, если тип не указан). Позволяет дождаться завершения асинхронных слушателей или игнорировать последующие ошибки от этих слушателей.

Использование

await browser.removeAllListeners();
await browser.removeAllListeners(type, options);

Аргументы

  • type [string] (необязательно)#
  • options [Object] (необязательно)
    • behavior "wait" | "ignoreErrors" | "default" (необязательно)#

      Указывает, следует ли ждать завершения уже работающих слушателей и что делать, если они вызывают ошибки:

      • 'default' - не ждать завершения текущих вызовов слушателей (если таковые имеются), если слушатель вызывает ошибку, это может привести к необработанной ошибке
      • 'wait' - дождаться завершения текущих вызовов слушателей (если таковые имеются)
      • 'ignoreErrors' - не ждать завершения текущих вызовов слушателей (если таковые имеются), все ошибки, вызванные слушателями после удаления, будут тихо перехвачены

Возвращает


startTracing

Добавлено в: v1.11 browser.startTracing
note

Этот 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 Page (необязательно)#

    Необязательный параметр, если указан, трассировка включает скриншоты указанной страницы.

  • options [Object] (необязательно)

    • categories Array<[string]> (необязательно)#

      Укажите пользовательские категории для использования вместо стандартных.

    • path [string] (необязательно)#

      Путь для записи файла трассировки.

    • screenshots [boolean] (необязательно)#

      Захватывает скриншоты в трассировке.

Возвращает


stopTracing

Добавлено в: v1.11 browser.stopTracing
note

Этот API управляет Chromium Tracing, который является низкоуровневым инструментом отладки, специфичным для Chromium. API для управления Playwright Tracing можно найти здесь.

Возвращает буфер с данными трассировки.

Использование

await browser.stopTracing();

Возвращает


version

Добавлено до v1.9 browser.version

Возвращает версию браузера.

Использование

browser.version();

Возвращает

  • [string]#

События

on('disconnected')

Добавлено до v1.9 browser.on('disconnected')

Событие, которое возникает, когда браузер отключается от приложения браузера. Это может произойти по одной из следующих причин:

  • Приложение браузера закрыто или аварийно завершило работу.
  • Метод browser.close() был вызван.

Использование

browser.on('disconnected', data => {});

Данные события

[boolean]: