Spec-Zone.ru › Playwright

Браузер

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

const { firefox } = require('playwright');  // Or 'chromium' or 'webkit'.

(async () => {
  const browser = await firefox.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

Методы​

bind​

Привязывает браузер к именованному каналу или веб-сокету, делая его доступным для подключения других клиентов.

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

await browser.bind(title);
await browser.bind(title, options);

Аргументы

  • title string

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

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

    • host string (необязательно)

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

    • metadata Object<string, Object> (необязательно)

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

    • port number (необязательно)

      Порт, к которому привязывается сервер веб-сокетов. Если указано это значение, вместо именованного канала создается сервер веб-сокетов. Используйте 0, чтобы ОС выбрала доступный порт.

    • workspaceDir string (необязательно)

      Рабочий каталог, связанный с этим сервером браузера.

Возвращает

  • Promise<Object>
    • endpoint string

browserType​

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

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

browser.browserType();

Возвращает

  • BrowserType

close​

Добавлено до версии 1.9

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

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

примечание

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

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

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

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

Аргументы

  • options Object (необязательно)
    • reason string (необязательно)

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

Возвращает

  • Promise<void>

contexts​

Добавлено до версии 1.9

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

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

const browser = await pw.webkit.launch();
console.log(browser.contexts().length); // prints `0`

const context = await browser.newContext();
console.log(browser.contexts().length); // prints `1`

Возвращает

  • Array<BrowserContext>

isConnected​

Добавлено до версии 1.9

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

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

browser.isConnected();

Возвращает

  • boolean

newBrowserCDPSession​

примечание

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

Возвращает только что созданный сеанс браузера.

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

await browser.newBrowserCDPSession();

Возвращает

  • Promise<CDPSession>

newContext​

Добавлено до версии 1.9

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

примечание

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

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

(async () => {
  const browser = await playwright.firefox.launch();  // Or 'chromium' or 'webkit'.
  // Create a new incognito browser context.
  const context = await browser.newContext();
  // Create a new page in a pristine context.
  const page = await context.newPage();
  await page.goto('https://example.com');

  // Gracefully close up everything
  await context.close();
  await browser.close();
})();

Аргументы

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

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

    • clientCertificates Array<Object> (необязательно)

      • 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 необходимо указать точное совпадение с источником запроса, для которого действителен сертификат.

      Аутентификация с помощью клиентского сертификата активна, только если указан хотя бы один клиентский сертификат. Чтобы отклонять все клиентские сертификаты, отправленные сервером, необходимо указать клиентский сертификат с origin, который не соответствует ни одному домену, который вы планируете посещать.

      примечание

      При использовании 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 | Array<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. Для выходных файлов .zip по умолчанию используется attach, а для всех файлов с другими расширениями — embed.

      • path string

        Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на .zip, по умолчанию используется content: 'attach'.

      • mode "full" | "minimal" (необязательно)

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

      • urlFilter string | RegExp (необязательно)

        Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если в параметрах контекста задан baseURL, а переданный URL является путем, он объединяется с ним с помощью конструктора new URL(). По умолчанию не задано.

      Включает запись HAR для всех страниц в файл recordHar.path. Если параметр не указан, HAR не записывается. Чтобы файл HAR был сохранен, дождитесь завершения browserContext.close().

    • recordVideo Object (необязательно)

      • dir string (необязательно)

        Путь к каталогу для сохранения видео. Если параметр не указан, видео сохраняются в artifactsDir (см. параметры browserType.launch()).

      • size Object (необязательно)

        • width number

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

        • height number

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

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

      • showActions Object (необязательно)

        • duration number (необязательно)

          Продолжительность отображения каждой аннотации в миллисекундах. По умолчанию — 500.

        • position "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)

          Положение наложения заголовка действия. По умолчанию — "top-right".

        • fontSize number (необязательно)

          Размер шрифта заголовка действия в пикселях. По умолчанию — 24.

        • cursor "none" | "pointer" (необязательно)

          Оформление курсора для действий указателя. "pointer" (значение по умолчанию) отображает указатель мыши, который анимированно перемещается от точки предыдущего действия к точке следующего. "none" отключает оформление курсора.

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

      Включает запись видео для всех страниц в каталог 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" (необязательно)

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

      • 'allow': можно регистрировать сервис-воркеры.
      • 'block': Playwright блокирует регистрацию всех сервис-воркеров.
    • storageState string | Object (необязательно)

      • cookies Array<Object>

        • name string

        • value string

        • domain string

          Домен и путь обязательны. Чтобы файл cookie применялся ко всем поддоменам, добавьте точку перед доменом, например: ".example.com"

        • path string

          Домен и путь обязательны

        • expires number

          Время Unix в секундах.

        • httpOnly boolean

        • secure boolean

        • sameSite "Strict" | "Lax" | "None"

          Флаг sameSite

        Файлы cookie для установки в контексте

      • origins Array<Object>

        • origin string

        • localStorage Array<Object>

          • name string

          • value string

          localStorage для установки в контексте

      Подробнее о состоянии хранилища и аутентификации.

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

    • strictSelectors boolean (необязательно)

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

    • timezoneId string (необязательно)

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

    • userAgent string (необязательно)

      Пользовательский агент для использования в этом контексте.

    • viewport null | Object (необязательный)

      • width number

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

      • height number

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

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

      примечание

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

Возвращает

  • Promise<BrowserContext>

newPage​

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

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

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

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

await browser.newPage();
await browser.newPage(options);

Аргументы

  • options Object (необязательно)
    • acceptDownloads boolean (необязательно)

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

    • baseURL string (необязательно)

      При использовании page.goto(), page.route(), page.waitForURL(), page.waitForRequest() или page.waitForResponse() учитывается базовый URL: для построения соответствующего URL используется конструктор URL(). По умолчанию не задано. Примеры:

      • baseURL: http://localhost:3000 и переход к /bar.html приводит к http://localhost:3000/bar.html
      • baseURL: http://localhost:3000/foo/ и переход к ./bar.html приводит к http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo (без завершающей косой черты) и переход к ./bar.html приводит к http://localhost:3000/bar.html
    • bypassCSP boolean (необязательно)

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

    • clientCertificates Array<Object> (необязательно)

      • 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 должно точно соответствовать источнику запроса, для которого действителен сертификат.

      Аутентификация с помощью сертификата клиента активна, только если указан хотя бы один сертификат клиента. Чтобы отклонить все сертификаты клиента, отправленные сервером, необходимо указать сертификат клиента с origin, не совпадающим ни с одним из доменов, которые вы планируете посещать.

      примечание

      При использовании 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 | Array<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 записывается только информация, необходимая для маршрутизации. Не записываются размеры, временные отметки, сведения о страницах, файлах cookie, безопасности и другие типы данных HAR, не используемые при воспроизведении из HAR. По умолчанию используется full.

      • urlFilter string | RegExp (необязательно)

        Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если в параметрах контекста задан baseURL, а переданный URL является путём, он объединяется с ним с помощью конструктора new URL(). По умолчанию не задано.

      Включает запись HAR для всех страниц в файл recordHar.path. Если параметр не указан, запись HAR не ведётся. Чтобы файл HAR был сохранён, обязательно дождитесь завершения browserContext.close().

    • recordVideo Object (необязательно)

      • dir string (необязательно)

        Путь к каталогу для сохранения видео. Если не указан, видео сохраняются в artifactsDir (см. параметры browserType.launch()).

      • size Object (необязательно)

        • width number

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

        • height number

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

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

      • showActions Object (необязательно)

        • duration number (необязательно)

          Продолжительность отображения каждой аннотации в миллисекундах. По умолчанию используется 500.

        • position "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)

          Положение наложения с названием действия. По умолчанию используется "top-right".

        • fontSize number (необязательно)

          Размер шрифта названия действия в пикселях. По умолчанию используется 24.

        • cursor "none" | "pointer" (необязательно)

          Оформление курсора, отображаемое при действиях с указателем. "pointer" (значение по умолчанию) отображает указатель мыши, который перемещается от точки предыдущего действия к точке следующего. "none" отключает отображение курсора.

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

      Включает запись видео для всех страниц в каталог 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" (необязательно)

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

      • 'allow': можно регистрировать Service Workers.
      • 'block': Playwright блокирует всю регистрацию Service Workers.
    • storageState string | Object (необязательно)

      • cookies Array<Object>

        • name string

        • value string

        • domain string

          Необходимо указать домен и путь. Чтобы файл cookie применялся также ко всем поддоменам, добавьте перед доменом точку, например: ".example.com"

        • path string

          Необходимо указать домен и путь

        • expires number

          Время Unix в секундах.

        • httpOnly boolean

        • secure boolean

        • sameSite "Strict" | "Lax" | "None"

          Флаг sameSite

        Файлы cookie, которые нужно задать для контекста

      • origins Array<Object>

        • origin string

        • localStorage Array<Object>

          • name string

          • value string

          localStorage, который нужно задать для контекста

      Подробнее о состоянии хранилища и аутентификации.

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

    • strictSelectors boolean (необязательно)

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

    • timezoneId string (необязательно)

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

    • userAgent string (необязательно)

      Конкретный пользовательский агент, используемый в этом контексте.

    • viewport null | Object (необязательно)

      • width number

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

      • height number

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

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

      примечание

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

Возвращает

  • Promise<Page>

removeAllListeners​

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

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

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

Аргументы

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

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

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

Возвращает

  • Promise<void>

startTracing​

примечание

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

С помощью 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 (необязательно)

      сохраняет снимки экрана в трассировке.

Возвращает

  • Promise<void>

stopTracing​

примечание

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

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

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

await browser.stopTracing();

Возвращает

  • Promise<Buffer>

unbind​

Отменяет привязку сервера браузера, ранее выполненную с помощью browser.bind().

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

await browser.unbind();

Возвращает

  • Promise<void>

version​

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

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

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

browser.version();

Возвращает

  • string

События​

on('context')​

Вызывается при создании нового контекста браузера.

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

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

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

  • BrowserContext

on('disconnected')​

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

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

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

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

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

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

  • Browser

© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-browser

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API