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Получить тип браузера (chromium, firefox или webkit), к которому принадлежит браузер.
Использование
Browser.BrowserType
Возвращает
CloseAsync
Добавлено до v1.9Если этот браузер был получен с помощью BrowserType.LaunchAsync(), закрывает браузер и все его страницы (если они были открыты).
Если этот браузер подключен, очищает все созданные контексты, принадлежащие этому браузеру, и отключается от сервера браузера.
Это похоже на принудительное завершение работы браузера. Чтобы закрыть страницы корректно и убедиться, что вы получаете события закрытия страниц, вызовите BrowserContext.CloseAsync() для всех экземпляров BrowserContext, которые вы явно создали ранее с помощью Browser.NewContextAsync() перед вызовом Browser.CloseAsync().
Сам объект Browser считается утилизированным и больше не может быть использован.
Использование
await Browser.CloseAsync(options);
Аргументы
options
BrowserCloseOptions?
(опционально)
Возвращает
Contexts
Добавлено до v1.9Возвращает массив всех открытых контекстов браузера. В недавно созданном браузере это вернет ноль контекстов браузера.
Использование
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
Возвращает
NewBrowserCDPSessionAsync
Добавлено в: v1.11Сессии CDP поддерживаются только в браузерах на основе Chromium.
Возвращает вновь созданную сессию браузера.
Использование
await Browser.NewBrowserCDPSessionAsync();
Возвращает
NewContextAsync
Добавлено до v1.9Создает новый контекст браузера. Он не будет делиться куки/кэшем с другими контекстами браузера.
Если вы напрямую используете этот метод для создания 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
- baseURL:
-
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
.
-
-
Указывает, поддерживает ли видовая область сенсорные события. По умолчанию 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
. -
Учитывается ли тег
meta viewport
и включены ли сенсорные события. isMobile является частью устройства, поэтому вам не нужно устанавливать его вручную. По умолчаниюfalse
и не поддерживается в Firefox. Узнайте больше о мобильной эмуляции. -
JavaScriptEnabled
bool? (опционально)#Включать ли JavaScript в контексте. По умолчанию
true
. Узнайте больше о отключении JavaScript. -
Укажите локаль пользователя, например
en-GB
,de-DE
и т.д. Локаль будет влиять на значениеnavigator.language
, значение заголовка запросаAccept-Language
, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Узнайте больше о эмуляции в нашем руководстве по эмуляции. -
Эмулировать ли отключение сети. По умолчанию
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? (опционально)#Размеры записанных видео. Если не указано, размер будет равен
viewport
, уменьшенному для соответствия 800x800. Еслиviewport
не настроен явно, размер видео по умолчанию 800x450. Фактическое изображение каждой страницы будет уменьшено, если необходимо, чтобы соответствовать указанному размеру. -
ReducedMotion
enum ReducedMotion { Reduce, NoPreference, Null }?
(опционально)#Эмулирует медиа-функцию
'prefers-reduced-motion'
, поддерживаемые значения:'reduce'
,'no-preference'
. См. Page.EmulateMediaAsync() для получения дополнительных сведений. Передача'null'
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
ScreenSize
ScreenSize? (опционально)#Эмулирует постоянный размер экрана окна, доступный внутри веб-страницы через
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? (опционально)#Эмулирует постоянную видовую область для каждой страницы. По умолчанию используется видовая область 1280x720. Используйте
ViewportSize.NoViewport
, чтобы отключить эмуляцию постоянной видовой области. Узнайте больше о эмуляции видовой области.примечаниеЗначение
ViewportSize.NoViewport
исключает использование предустановок по умолчанию, делает видовую область зависимой от размера окна хоста, определяемого операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
NewPageAsync
Добавлено до v1.9Создает новую страницу в новом контексте браузера. Закрытие этой страницы также закроет контекст.
Это удобный 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
- baseURL:
-
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
.
-
-
Указывает, поддерживает ли видовая область сенсорные события. По умолчанию 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
. -
Учитывается ли тег
meta viewport
и включены ли сенсорные события. isMobile является частью устройства, поэтому вам не нужно устанавливать его вручную. По умолчаниюfalse
и не поддерживается в Firefox. Узнайте больше о мобильной эмуляции. -
JavaScriptEnabled
bool? (опционально)#Включать ли JavaScript в контексте. По умолчанию
true
. Узнайте больше о отключении JavaScript. -
Укажите локаль пользователя, например
en-GB
,de-DE
и т.д. Локаль будет влиять на значениеnavigator.language
, значение заголовка запросаAccept-Language
, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Узнайте больше о эмуляции в нашем руководстве по эмуляции. -
Эмулировать ли отключение сети. По умолчанию
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? (опционально)#Размеры записанных видео. Если не указано, размер будет равен
viewport
, уменьшенному для соответствия 800x800. Еслиviewport
не настроен явно, размер видео по умолчанию 800x450. Фактическое изображение каждой страницы будет уменьшено, если необходимо, чтобы соответствовать указанному размеру. -
ReducedMotion
enum ReducedMotion { Reduce, NoPreference, Null }?
(опционально)#Эмулирует медиа-функцию
'prefers-reduced-motion'
, поддерживаемые значения:'reduce'
,'no-preference'
. См. Page.EmulateMediaAsync() для получения дополнительных сведений. Передача'null'
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
ScreenSize
ScreenSize? (опционально)#Эмулирует постоянный размер экрана окна, доступный внутри веб-страницы через
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? (опционально)#Эмулирует постоянную видовую область для каждой страницы. По умолчанию используется видовая область 1280x720. Используйте
ViewportSize.NoViewport
, чтобы отключить эмуляцию постоянной видовой области. Узнайте больше о эмуляции видовой области.примечаниеЗначение
ViewportSize.NoViewport
исключает использование предустановок по умолчанию, делает видовую область зависимой от размера окна хоста, определяемого операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
Версия
Добавлено до версии v1.9Возвращает версию браузера.
Использование
Browser.Version
Возвращает
События
событие Disconnected
Добавлено до версии v1.9Вызывается, когда браузер отключается от приложения браузера. Это может произойти по одной из следующих причин:
- Приложение браузера закрыто или аварийно завершило работу.
- Был вызван метод Browser.CloseAsync().
Использование
Browser.Disconnected += async (_, browser) => {};
Данные события