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

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 (опционально)

        Path to the file with the certificate in PEM format.

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

        Direct value of the certificate in PEM format.

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

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

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

        Direct value of the private key in PEM format.

      • setPfxPath Path (необязательно)

      Path to the PFX or PKCS12 encoded private key and certificate chain.

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

        Direct value of the PFX or PKCS12 encoded private key and certificate chain.

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

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

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

      Подробности

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

      Детали

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

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