Перейти к основному содержимому

Browser

Браузер создаётся с помощью BrowserType.launch(). Пример использования Browser для создания Page:

import com.microsoft.playwright.*;

public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BrowserType firefox = playwright.firefox();
Browser browser = firefox.launch();
Page page = browser.newPage();
page.navigate("https://example.com");
browser.close();
}
}
}

Методы

browserType

Добавлено в: v1.23 browser.browserType

Возвращает тип браузера (chromium, firefox или webkit), к которому принадлежит данный экземпляр браузера.

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

Browser.browserType();

Возвращает


close

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

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

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

примечание

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

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

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

Browser.close();
Browser.close(options);

Аргументы

  • options Browser.CloseOptions (опционально)
    • setReason String (опционально) Добавлено в: v1.40#

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

Возвращает


contexts

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

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

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

Browser browser = pw.webkit().launch();
System.out.println(browser.contexts().size()); // prints "0"
BrowserContext context = browser.newContext();
System.out.println(browser.contexts().size()); // prints "1"

Возвращает


isConnected

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

Указывает, установлено ли соединение с браузером.

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

Browser.isConnected();

Возвращает


newBrowserCDPSession

Добавлено в: v1.11 browser.newBrowserCDPSession
примечание

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

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

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

Browser.newBrowserCDPSession();

Возвращает


newContext

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

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

примечание

Если вы напрямую используете этот метод для создания BrowserContext, рекомендуется явно закрывать возвращённый контекст с помощью BrowserContext.close(), когда он больше не нужен, и до вызова Browser.close(). Это обеспечит корректное завершение работы context и сохранение всех артефактов, таких как HAR-файлы и видео.

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

Browser browser = playwright.firefox().launch();  // Or 'chromium' or 'webkit'.
// Create a new incognito browser context.
BrowserContext context = browser.newContext();
// Create a new page in a pristine context.
Page page = context.newPage();
page.navigate("https://example.com");

// Graceful close up everything
context.close();
browser.close();

Аргументы

  • options Browser.NewContextOptions (опционально)
    • setAcceptDownloads boolean (опционально)#

      Указывает, следует ли автоматически загружать все вложения. По умолчанию установлено значение true, при котором все загрузки принимаются.

    • setBaseURL String (опционально)#

      При использовании методов Page.navigate(), 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
    • setBypassCSP boolean (опционально)#

      Включает или отключает обход политики Content-Security-Policy страницы. По умолчанию false.

    • setClientCertificates List<ClientCertificates> (опционально) Добавлено в версии: 1.46#

      • setOrigin String

        Точное значение origin, для которого действителен сертификат. Origin включает протокол https, имя хоста и, при необходимости, порт.

      • setCertPath Path (опционально)

        Путь к файлу с сертификатом в формате PEM.

      • setCert byte[] (опционально)

        Прямое значение сертификата в формате PEM.

      • setKeyPath Path (опционально)

        Путь к файлу с приватным ключом в формате PEM.

      • setKey byte[] (опционально)

        Прямое значение приватного ключа в формате PEM.

      • setPfxPath Path (опционально)

        Путь к файлу PFX или закодированной цепочке ключа и сертификата в формате PKCS12.

      • setPfx byte[] (опционально)

        Прямое значение PFX или закодированной цепочки в формате PKCS12.

      • setPassphrase String (опционально)

        Пароль для приватного ключа (PEM или PFX).

      TLS-аутентификация клиента позволяет серверу запросить клиентский сертификат и проверить его.

      Детали

      Массив клиентских сертификатов, которые будут использоваться. Каждый объект сертификата должен содержать либо одновременно certPath и keyPath, либо только pfxPath, либо их соответствующие значения напрямую (cert и key, либо pfx). Необязательное свойство passphrase должно быть указано, если сертификат зашифрован. Свойство origin должно точно соответствовать origin запроса, для которого сертификат действителен.

      примечание

      При использовании WebKit на macOS доступ к localhost не будет использовать клиентские сертификаты. Это можно обойти, заменив localhost на local.playwright.

    • setColorScheme null | enum ColorScheme { LIGHT, DARK, NO_PREFERENCE } (опционально)#

      Эмулирует медиа-фичу prefers-colors-scheme, поддерживаемые значения — 'light' и 'dark'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию до системных настроек. По умолчанию — 'light'.

    • setContrast null | enum Contrast { NO_PREFERENCE, MORE } (опционально)#

      Эмулирует медиа-фичу 'prefers-contrast', поддерживаемые значения — 'no-preference', 'more'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию до системных настроек. По умолчанию — 'no-preference'.

    • setDeviceScaleFactor double (опционально)#

      Указывает коэффициент масштабирования устройства (аналог dpr). По умолчанию — 1. Подробнее о эмуляции устройств с коэффициентом масштабирования.

    • setExtraHTTPHeaders Map<String, String> (опционально)#

      Объект с дополнительными HTTP-заголовками, которые будут отправляться с каждым запросом. По умолчанию — отсутствуют.

    • setForcedColors null | enum ForcedColors { ACTIVE, NONE } (опционально)#

      Эмулирует медиа-фичу 'forced-colors', поддерживаемые значения — 'active', 'none'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию до системных настроек. По умолчанию — 'none'.

    • setGeolocation Geolocation (опционально)#

      • setLatitude double

        Широта в диапазоне от -90 до 90.

      • setLongitude double

        Долгота в диапазоне от -180 до 180.

      • setAccuracy double (опционально)

        Неотрицательное значение точности. По умолчанию — 0.

    • setHasTouch boolean (опционально)#

      Определяет, поддерживает ли viewport сенсорные события. По умолчанию — false. Подробнее о мобильной эмуляции.

    • setHttpCredentials HttpCredentials (опционально)#

      • setOrigin String (опционально)

        Ограничивает отправку HTTP-учётных данных определённым origin (scheme://host:port).

      • setSend enum HttpCredentialsSend { UNAUTHORIZED, ALWAYS } (опционально)

        Эта опция применяется только к запросам, отправляемым через соответствующий APIRequestContext, и не влияет на запросы из браузера. 'always' — заголовок Authorization с базовой авторизацией будет отправляться с каждым API-запросом. 'unauthorized' — учётные данные отправляются только в случае ответа 401 (Unauthorized) с заголовком WWW-Authenticate. По умолчанию — 'unauthorized'.

      Учётные данные для HTTP-аутентификации. Если origin не указан, имя пользователя и пароль отправляются на любые серверы при получении ответа с требованием авторизации.

    • setIgnoreHTTPSErrors boolean (опционально)#

      Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию — false.

    • setIsMobile boolean (опционально)#

      Учитывается ли тег meta viewport и активированы ли сенсорные события. isMobile является частью предустановленного устройства, поэтому обычно нет необходимости указывать его вручную. По умолчанию — false, не поддерживается в Firefox. Подробнее о мобильной эмуляции.

    • setJavaScriptEnabled boolean (опционально)#

      Включён ли JavaScript в этом контексте. По умолчанию — true. Подробнее о отключении JavaScript.

    • setLocale String (опционально)#

      Указание локали пользователя, например en-GB, de-DE и т.д. Локаль влияет на значение navigator.language, заголовок Accept-Language, а также правила форматирования чисел и дат. По умолчанию — локаль системы. Подробнее в руководстве по эмуляции.

    • setOffline boolean (опционально)#

      Эмулировать ли офлайн-состояние сети. По умолчанию — false. Подробнее о сетевой эмуляции.

    • setPermissions List<String> (опционально)#

      Список разрешений, предоставляемых всем страницам в этом контексте. Подробнее см. BrowserContext.grantPermissions(). По умолчанию — нет.

    • setProxy Proxy (опционально)#

      • setServer String

        Прокси-сервер, используемый для всех запросов. Поддерживаются HTTP и SOCKS-прокси, например http://myproxy.com:3128 или socks5://myproxy.com:3128. Короткая форма myproxy.com:3128 считается HTTP-прокси.

      • setBypass String (опционально)

        Необязательный список доменов (через запятую), для которых прокси не будет использоваться, например ".com, chromium.org, .domain.com".

      • setUsername String (опционально)

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

      • setPassword String (опционально)

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

      Настройки сетевого прокси для этого контекста. По умолчанию — отсутствуют.

    • setRecordHarContent enum HarContentPolicy { OMIT, EMBED, ATTACH } (опционально)#

      Необязательная настройка управления содержимым ресурсов. При значении omit содержимое не сохраняется. При attach ресурсы сохраняются как отдельные файлы и архивируются вместе с HAR. По умолчанию — embed, что сохраняет содержимое внутри HAR-файла согласно спецификации HAR.

    • setRecordHarMode enum HarMode { FULL, MINIMAL } (опционально)#

      При значении minimal записывается только информация, необходимая для воспроизведения HAR, без размеров, времени, страницы, cookies, безопасности и прочих данных. По умолчанию — full.

    • setRecordHarOmitContent boolean (опционально)#

      Необязательная настройка, указывающая, исключать ли содержимое запроса из HAR. По умолчанию — false.

    • setRecordHarPath Path (опционально)#

      Включает HAR запись для всех страниц в указанный HAR-файл. Если путь не указан, HAR не записывается. Не забудьте вызвать BrowserContext.close(), чтобы сохранить HAR.

    • setRecordHarUrlFilter String | Pattern (опционально)#

    • setRecordVideoDir Path (опционально)#

      Включает запись видео всех страниц в указанный каталог. Если не указано — видео не записываются. Не забудьте вызвать BrowserContext.close(), чтобы сохранить видео.

    • setRecordVideoSize RecordVideoSize (опционально)#

      • setWidth int

        Ширина кадра видео.

      • setHeight int

        Высота кадра видео.

      Размеры записываемого видео. Если не указано — размер соответствует viewport, уменьшенному до 800x800. Если viewport не задан явно, по умолчанию используется размер 800x450. Изображение каждой страницы при необходимости масштабируется под заданные размеры.

    • setReducedMotion null | enum ReducedMotion { REDUCE, NO_PREFERENCE } (опционально)#

      Эмулирует медиа-фичу 'prefers-reduced-motion', поддерживаемые значения — 'reduce', 'no-preference'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию до системных настроек. По умолчанию — 'no-preference'.

    • setScreenSize ScreenSize (опционально)#

      • setWidth int

        Ширина страницы в пикселях.

      • setHeight int

        Высота страницы в пикселях.

      Эмулирует постоянный размер окна, доступный через window.screen внутри страницы. Используется только если задан setViewportSize.

    • setServiceWorkers enum ServiceWorkerPolicy { ALLOW, BLOCK } (опционально)#

      Разрешать ли сайтам регистрировать Service Workers. По умолчанию — 'allow'.

      • 'allow': Разрешено регистрировать Service Workers.
      • 'block': Playwright будет блокировать все регистрации Service Workers.
    • setStorageState String (опционально)#

      Инициализирует контекст с заданным состоянием хранилища. Можно использовать для загрузки информации о входе в систему, полученной через BrowserContext.storageState().

    • setStorageStatePath Path (опционально) Добавлено в: v1.9#

      Инициализирует контекст с заданным состоянием хранилища. Можно использовать для загрузки информации о входе в систему, полученной через BrowserContext.storageState(). Путь к файлу с сохранённым состоянием.

    • setStrictSelectors boolean (опционально)#

      Если установлено в true, включает строгий режим селекторов для этого контекста. В строгом режиме все операции с селекторами, предполагающие единственный DOM-элемент, выбрасывают исключение, если селектор находит несколько элементов. Эта опция не влияет на API Locator (они всегда работают в строгом режиме). По умолчанию — false. Подробнее см. Locator.

    • setTimezoneId String (опционально)#

      Изменяет часовой пояс контекста. См. ICU's metaZones.txt для списка поддерживаемых идентификаторов. По умолчанию — часовой пояс системы.

    • setUserAgent String (опционально)#

      Задаёт user agent для данного контекста.

    • setViewportSize null | ViewportSize (опционально)#

      • setWidth int

        Ширина страницы в пикселях.

      • setHeight int

        Высота страницы в пикселях.

      Эмулирует постоянный viewport для каждой страницы. По умолчанию используется разрешение 1280x720. Значение null отключает эмуляцию viewport. Подробнее о эмуляции viewport.

      примечание

      Значение null отключает стандартные предустановки и делает размер viewport зависимым от размеров окна хоста, определяемых операционной системой. Это делает выполнение тестов недетерминированным.

Возвращает


newPage

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

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

Это вспомогательный API, который следует использовать только для сценариев с одной страницей и коротких сниппетов. В производственном коде и тестовых фреймворках следует явно создавать Browser.newContext(), а затем вызывать BrowserContext.newPage(), чтобы управлять временем жизни объектов.

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

Browser.newPage();
Browser.newPage(options);

Аргументы

  • options Browser.NewPageOptions (опционально)

    • setAcceptDownloads boolean (опционально)#

      Загружать ли вложения автоматически. По умолчанию — true, все загрузки принимаются.

    • setBaseURL String (опционально)#

      При использовании Page.navigate(), 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
    • setBypassCSP boolean (опционально)#

      Переключает обход политики Content-Security-Policy страницы. По умолчанию — false.

    • setClientCertificates List<ClientCertificates> (опционально) Добавлено в: 1.46#

      • setOrigin String

        Точный origin, для которого действителен сертификат. Origin включает протокол https, имя хоста и, при необходимости, порт.

      • setCertPath Path (опционально)

        Путь к файлу с сертификатом в формате PEM.

      • setCert byte[] (опционально)

        Прямое значение сертификата в формате PEM.

      • setKeyPath Path (опционально)

        Путь к файлу с закрытым ключом в формате PEM.

      • setKey byte[] (опционально)

        Прямое значение закрытого ключа в формате PEM.

      • setPfxPath Path (опционально)

        Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.

      • setPfx byte[] (опционально)

        Прямое значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.

      • setPassphrase String (опционально)

        Пароль для закрытого ключа (PEM или PFX).

      TLS-аутентификация клиента позволяет серверу запрашивать клиентский сертификат и проверять его.

      Детали

      Массив клиентских сертификатов, которые будут использоваться. Каждый объект сертификата должен содержать либо одновременно certPath и keyPath, либо один pfxPath, либо соответствующие им значения напрямую (cert и key, или pfx). При необходимости следует указать свойство passphrase, если сертификат зашифрован. Свойство origin должно быть задано с точным соответствием origin'у запроса, для которого сертификат действителен.

      примечание

      При использовании WebKit на macOS доступ к localhost не приведёт к использованию клиентских сертификатов. Чтобы обойти это ограничение, замените localhost на local.playwright.

    • setColorScheme null | enum ColorScheme { LIGHT, DARK, NO_PREFERENCE } (опционально)#

    Эмулирует медиапараметр prefers-color-scheme; поддерживаемые значения: 'light' и 'dark'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию на настройки системы. По умолчанию — 'light'.

    • setContrast null | enum Contrast { NO_PREFERENCE, MORE } (опционально)#

    Эмулирует медиапараметр 'prefers-contrast'; поддерживаемые значения: 'no-preference', 'more'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию на настройки системы. По умолчанию — 'no-preference'.

    • setDeviceScaleFactor double (опционально)#

    Указывает коэффициент масштабирования устройства (аналог dpr). По умолчанию — 1. Подробнее о эмуляции устройств с коэффициентом масштабирования.

    Объект с дополнительными HTTP-заголовками, которые будут добавлены ко всем запросам. По умолчанию — отсутствуют.

    • setForcedColors null | enum ForcedColors { ACTIVE, NONE } (опционально)#

    Эмулирует медиапараметр 'forced-colors'; поддерживаемые значения: 'active', 'none'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию на настройки системы. По умолчанию — 'none'.

    • setGeolocation Geolocation (опционально)#

    • setLatitude double

      Широта в пределах от -90 до 90.

      Долгота в пределах от -180 до 180.

      • setAccuracy double (опционально)

      Неотрицательное значение точности. По умолчанию — 0.

    • setHasTouch boolean (опционально)#

      Определяет, поддерживает ли viewport события касания. По умолчанию — false. Подробнее см. раздел про эмуляцию мобильных устройств.

    • setHttpCredentials HttpCredentials (опционально)#

      • setUsername String

      • setPassword String

      • setOrigin String (опционально)

        Ограничивает отправку HTTP-учётных данных определённым origin (scheme://host:port).

      • setSend enum HttpCredentialsSend { UNAUTHORIZED, ALWAYS } (опционально)

        Этот параметр применяется только к запросам, отправленным с помощью соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера. 'always' — заголовок Authorization с данными базовой авторизации будет отправляться с каждым API-запросом. 'unauthorized' — учётные данные отправляются только при получении ответа 401 (Unauthorized) с заголовком WWW-Authenticate. По умолчанию — 'unauthorized'.

      Учётные данные для HTTP-аутентификации. Если origin не указан, имя пользователя и пароль отправляются любому серверу при получении ответа с требованием авторизации.

    • setIgnoreHTTPSErrors boolean (опционально)#

      Игнорировать ли ошибки HTTPS при выполнении сетевых запросов. По умолчанию — false.

    • setIsMobile boolean (опционально)#

      Определяет, учитывается ли тег meta viewport и включены ли события касания. isMobile является частью устройства, поэтому обычно не требуется указывать вручную. По умолчанию — false. Не поддерживается в Firefox. Подробнее см. раздел про эмуляцию мобильных устройств.

    • setJavaScriptEnabled boolean (опционально)#

      Включён ли JavaScript в этом контексте. По умолчанию — true. Подробнее см. раздел про отключение JavaScript.

    • setLocale String (опционально)#

      Указывает пользовательскую локаль, например en-GB, de-DE и т.д. Локаль влияет на значение navigator.language, заголовок Accept-Language, а также правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции см. в руководстве по эмуляции.

    • setOffline boolean (опционально)#

      Эмулировать ли отсутствие сети. По умолчанию — false. Подробнее о сетевой эмуляции.

    • setPermissions List<String> (опционально)#

      Список разрешений, предоставляемых всем страницам в этом контексте. Подробнее см. BrowserContext.grantPermissions(). По умолчанию — нет разрешений.

    • setProxy Proxy (опционально)#

      • setServer String

        Прокси-сервер, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например http://myproxy.com:3128 или socks5://myproxy.com:3128. Короткая форма myproxy.com:3128 считается HTTP-прокси.

      • setBypass String (опционально)

        Необязательный список доменов, разделённых запятыми, которые будут обходить прокси, например ".com, chromium.org, .domain.com".

      • setUsername String (опционально)

        Необязательное имя пользователя, если для прокси требуется авторизация.

      • setPassword String (опционально)

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

      Настройки сетевого прокси, которые будут использоваться в этом контексте. По умолчанию — не указано.

    • setRecordHarContent enum HarContentPolicy { OMIT, EMBED, ATTACH } (опционально)#

      Необязательная настройка для управления сохранением содержимого ресурсов. При значении omit содержимое не сохраняется. При значении attach ресурсы сохраняются в виде отдельных файлов и архивируются вместе с HAR-файлом. По умолчанию — embed, то есть содержимое сохраняется встроенно в HAR-файл согласно спецификации HAR.

    • setRecordHarMode enum HarMode { FULL, MINIMAL } (опционально)#

      При значении minimal записывается только информация, необходимая для воспроизведения маршрутов из HAR. Исключаются размеры, тайминги, информация о страницах, cookies, параметры безопасности и другие данные, не используемые при воспроизведении HAR. По умолчанию — full.

    • setRecordHarOmitContent boolean (опционально)#

      Необязательная настройка, определяющая, нужно ли исключить содержимое запроса из HAR. По умолчанию — false.

    • setRecordHarPath Path (опционально)#

      Включает запись HAR для всех страниц в указанный файл на файловой системе. Если не указано, запись HAR не производится. Не забудьте вызвать BrowserContext.close(), чтобы HAR-файл был сохранён.

    • setRecordHarUrlFilter String | Pattern (опционально)#

    • setRecordVideoDir Path (опционально)#

    Включает запись видео для всех страниц в указанную директорию. Если путь не указан, видео не записывается. Обязательно вызовите BrowserContext.close(), чтобы сохранить видео.

    • setRecordVideoSize RecordVideoSize (опционально)#

      Ширина кадра видео.

      • setHeight int

      Высота кадра видео.

    Размеры записываемого видео. Если не указаны, размер будет соответствовать viewport, масштабированному под 800x800. Если viewport не задан явно, размер видео по умолчанию — 800x450. Изображение каждой страницы будет масштабироваться при необходимости, чтобы соответствовать заданным размерам.

    • setReducedMotion null | enum ReducedMotion { REDUCE, NO_PREFERENCE } (опционально)#

    Эмулирует медиапараметр 'prefers-reduced-motion'. Поддерживаемые значения: 'reduce', 'no-preference'. Подробнее см. Page.emulateMedia(). Значение null сбрасывает эмуляцию до системных настроек. По умолчанию — 'no-preference'.

    • setScreenSize ScreenSize (опционально)#

      Ширина окна страницы в пикселях.

      • setHeight int

      Высота окна страницы в пикселях.

    Эмулирует фиксированный размер окна, доступный внутри веб-страницы через window.screen. Используется только при заданном параметре setViewportSize.

    • setServiceWorkers enum ServiceWorkerPolicy { ALLOW, BLOCK } (опционально)#

    Разрешать ли сайтам регистрировать Service Workers. По умолчанию — 'allow'.

    • 'allow': Разрешена регистрация Service Workers.

    • 'block': Playwright будет блокировать любую регистрацию Service Workers.

    • setStorageState String (опционально)#

    Заполняет контекст заданным состоянием хранилища. Может использоваться для инициализации контекста с уже авторизованным пользователем, полученным через BrowserContext.storageState().

    • setStorageStatePath Path (опционально) Добавлено в: v1.9#

    Заполняет контекст состоянием хранилища из файла. Может использоваться для инициализации контекста с авторизованным пользователем, сохранённым через BrowserContext.storageState(). Путь к файлу с сохранённым состоянием.

    • setStrictSelectors boolean (опционально)#

    Если установлено в true, включает режим строгих селекторов для этого контекста. В этом режиме все операции с селекторами, подразумевающими один элемент в DOM, выбросят ошибку, если селектору соответствует более одного элемента. Эта настройка не влияет на API Locator (они всегда используют строгий режим). По умолчанию — false. Подробнее см. Locator.

    • setTimezoneId String (опционально)#

    Изменяет часовой пояс для контекста. Список поддерживаемых идентификаторов часовых поясов можно найти в ICU metaZones.txt. По умолчанию используется системный часовой пояс.

    • setUserAgent String (опционально)#

    Указывает конкретный user agent для этого контекста.

    • setViewportSize null | ViewportSize (опционально)#

      Ширина страницы в пикселях.

      • setHeight int

      Высота страницы в пикселях.

    Эмулирует фиксированный viewport для каждой страницы. По умолчанию используется viewport 1280x720. Укажите null, чтобы отключить эмуляцию фиксированного viewport. Подробнее о эмуляции viewport.

    примечание

    Значение null отключает предустановки по умолчанию и делает viewport зависимым от размера окна хоста, заданного операционной системой. Это может привести к недетерминированному выполнению тестов.

Возвращает


startTracing

Добавлено в: v1.11 browser.startTracing
примечание

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

Вы можете использовать Browser.startTracing() и Browser.stopTracing() для создания файла трассировки, который можно открыть в панели производительности Chrome DevTools.

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

browser.startTracing(page, new Browser.StartTracingOptions()
.setPath(Paths.get("trace.json")));
page.navigate("https://www.google.com");
browser.stopTracing();

Аргументы

  • page Page (опционально)#

    Опционально, если указано, трассировка включает скриншоты данной страницы.

  • options Browser.StartTracingOptions (опционально)

    • setCategories List<String> (опционально)#

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

    • setPath Path (опционально)#

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

    • setScreenshots boolean (опционально)#

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

Возвращает


stopTracing

Добавлено в: v1.11 browser.stopTracing
примечание

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

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

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

Browser.stopTracing();

Возвращает


version

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

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

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

Browser.version();

Возвращает


События

onDisconnected(handler)

Добавлено до v1.9 browser.onDisconnected(handler)

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

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

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

Browser.onDisconnected(handler)

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