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

Browser

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

using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
var firefox = playwright.Firefox;
var browser = await firefox.LaunchAsync(new() { Headless = false });
var page = await browser.NewPageAsync();
await page.GotoAsync("https://www.bing.com");
await browser.CloseAsync();

Методы

BrowserType

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

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

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

Browser.BrowserType

Возвращает


CloseAsync

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

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

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

примечание

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

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

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

await Browser.CloseAsync(options);

Аргументы

  • options BrowserCloseOptions? (опционально)
    • Reason string? (опционально) Добавлено в: v1.40#

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

Возвращает


Contexts

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

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

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

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Webkit.LaunchAsync();
System.Console.WriteLine(browser.Contexts.Count); // выводит "0"
var context = await browser.NewContextAsync();
System.Console.WriteLine(browser.Contexts.Count); // выводит "1"

Возвращает


IsConnected

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

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

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

Browser.IsConnected

Возвращает


NewBrowserCDPSessionAsync

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

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

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

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

await Browser.NewBrowserCDPSessionAsync();

Возвращает


NewContextAsync

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

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

примечание

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

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

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Firefox.LaunchAsync();
// Создать новый инкогнито контекст браузера.
var context = await browser.NewContextAsync();
// Создать новую страницу в чистом контексте.
var page = await context.NewPageAsync(); ;
await page.GotoAsync("https://www.bing.com");

// Корректно закрыть все
await context.CloseAsync();
await browser.CloseAsync();

Аргументы

  • options BrowserNewContextOptions? (опционально)
    • AcceptDownloads bool? (опционально)#

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

    • BaseURL string? (опционально)#

      При использовании Page.GotoAsync(), Page.RouteAsync(), Page.WaitForURLAsync(), Page.RunAndWaitForRequestAsync() или Page.RunAndWaitForResponseAsync() учитывает базовый 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 bool? (опционально)#

      Переключает обход политики безопасности контента страницы. По умолчанию false.

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

      • Origin string

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

      • CertPath string? (опционально)

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

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

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

      • KeyPath string? (опционально)

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

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

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

      • PfxPath string? (опционально)

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

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

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

      • Passphrase string? (опционально)

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

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

      Детали

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

      примечание

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

    • ColorScheme enum ColorScheme { Light, Dark, NoPreference, Null }? (опционально)#

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

    • Contrast enum Contrast { NoPreference, More, Null }? (опционально)#

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

    • DeviceScaleFactor [float]? (опционально)#

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

    • ExtraHTTPHeaders IDictionary?<string, string> (опционально)#

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

    • ForcedColors enum ForcedColors { Active, None, Null }? (опционально)#

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

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

      • Latitude [float]

        Широта между -90 и 90.

      • Longitude [float]

        Долгота между -180 и 180.

      • Accuracy [float]? (опционально)

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

    • HasTouch bool? (опционально)#

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

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

      • Username string

      • Password string

      • Origin string? (опционально)

        Ограничить отправку http-учетных данных на конкретный источник (scheme://host:port).

      • Send enum HttpCredentialsSend { Unauthorized, Always }? (опционально)

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

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

    • IgnoreHTTPSErrors bool? (опционально)#

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

    • IsMobile bool? (опционально)#

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

    • JavaScriptEnabled bool? (опционально)#

      Включать ли JavaScript в контексте. По умолчанию true. Узнайте больше о отключении JavaScript.

    • Locale string? (опционально)#

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

    • Offline bool? (опционально)#

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

    • Permissions IEnumerable?<string> (опционально)#

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

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

      • 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 прокси требует аутентификации.

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

    • RecordHarContent enum HarContentPolicy { Omit, Embed, Attach }? (опционально)#

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

    • RecordHarMode enum HarMode { Full, Minimal }? (опционально)#

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

    • RecordHarOmitContent bool? (опционально)#

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

    • RecordHarPath string? (опционально)#

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

    • RecordHarUrlFilter|RecordHarUrlFilterRegex string? | Regex? (опционально)#

    • RecordVideoDir string? (опционально)#

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

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

      • Width int

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

      • Height int

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

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

    • ReducedMotion enum ReducedMotion { Reduce, NoPreference, Null }? (опционально)#

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

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

      • Width int

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

      • Height int

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

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

    • ServiceWorkers enum ServiceWorkerPolicy { Allow, Block }? (опционально)#

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

      • 'allow': Сервис-воркеры могут быть зарегистрированы.
      • 'block': Playwright будет блокировать всю регистрацию сервис-воркеров.
    • StorageState string? (опционально)#

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

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

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

    • StrictSelectors bool? (опционально)#

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

    • TimezoneId string? (опционально)#

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

    • UserAgent string? (опционально)#

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

    • ViewportSize ViewportSize? (опционально)#

      • Width int

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

      • Height int

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

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

      примечание

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

Возвращает


NewPageAsync

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

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

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

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

await Browser.NewPageAsync(options);

Аргументы

  • options BrowserNewPageOptions? (опционально)
    • AcceptDownloads bool? (опционально)#

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

    • BaseURL string? (опционально)#

      При использовании Page.GotoAsync(), Page.RouteAsync(), Page.WaitForURLAsync(), Page.RunAndWaitForRequestAsync() или Page.RunAndWaitForResponseAsync() учитывает базовый 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 bool? (опционально)#

      Переключает обход политики безопасности контента страницы. По умолчанию false.

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

      • Origin string

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

      • CertPath string? (опционально)

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

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

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

      • KeyPath string? (опционально)

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

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

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

      • PfxPath string? (опционально)

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

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

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

      • Passphrase string? (опционально)

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

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

      Детали

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

      примечание

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

    • ColorScheme enum ColorScheme { Light, Dark, NoPreference, Null }? (опционально)#

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

    • Contrast enum Contrast { NoPreference, More, Null }? (опционально)#

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

    • DeviceScaleFactor [float]? (опционально)#

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

    • ExtraHTTPHeaders IDictionary?<string, string> (опционально)#

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

    • ForcedColors enum ForcedColors { Active, None, Null }? (опционально)#

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

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

      • Latitude [float]

        Широта между -90 и 90.

      • Longitude [float]

        Долгота между -180 и 180.

      • Accuracy [float]? (опционально)

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

    • HasTouch bool? (опционально)#

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

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

      • Username string

      • Password string

      • Origin string? (опционально)

        Ограничить отправку http-учетных данных на конкретный источник (scheme://host:port).

      • Send enum HttpCredentialsSend { Unauthorized, Always }? (опционально)

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

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

    • IgnoreHTTPSErrors bool? (опционально)#

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

    • IsMobile bool? (опционально)#

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

    • JavaScriptEnabled bool? (опционально)#

      Включать ли JavaScript в контексте. По умолчанию true. Узнайте больше о отключении JavaScript.

    • Locale string? (опционально)#

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

    • Offline bool? (опционально)#

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

    • Permissions IEnumerable?<string> (опционально)#

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

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

      • 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 прокси требует аутентификации.

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

    • RecordHarContent enum HarContentPolicy { Omit, Embed, Attach }? (опционально)#

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

    • RecordHarMode enum HarMode { Full, Minimal }? (опционально)#

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

    • RecordHarOmitContent bool? (опционально)#

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

    • RecordHarPath string? (опционально)#

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

    • RecordHarUrlFilter|RecordHarUrlFilterRegex string? | Regex? (опционально)#

    • RecordVideoDir string? (опционально)#

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

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

      • Width int

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

      • Height int

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

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

    • ReducedMotion enum ReducedMotion { Reduce, NoPreference, Null }? (опционально)#

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

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

      • Width int

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

      • Height int

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

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

    • ServiceWorkers enum ServiceWorkerPolicy { Allow, Block }? (опционально)#

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

      • 'allow': Сервис-воркеры могут быть зарегистрированы.
      • 'block': Playwright будет блокировать всю регистрацию сервис-воркеров.
    • StorageState string? (опционально)#

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

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

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

    • StrictSelectors bool? (опционально)#

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

    • TimezoneId string? (опционально)#

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

    • UserAgent string? (опционально)#

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

    • ViewportSize ViewportSize? (опционально)#

      • Width int

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

      • Height int

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

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

      примечание

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

Возвращает


Версия

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

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

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

Browser.Version

Возвращает


События

событие Disconnected

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

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

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

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

Browser.Disconnected += async (_, browser) => {};

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