BrowserType
BrowserType предоставляет методы для запуска определённого экземпляра браузера или подключения к уже запущенному. Ниже приведён типичный пример использования Playwright для автоматизации:
const { chromium } = require('playwright'); // Or 'firefox' or 'webkit'.
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// other actions...
await browser.close();
})(); Методы
connect
Добавлено до версии v1.9Этот метод подключает Playwright к существующему экземпляру браузера, созданному с помощью BrowserType.launchServer в Node.js.
примечаниеОсновная и дополнительная версии подключающегося экземпляра Playwright должны совпадать с версией Playwright, которая запускает браузер (1.2.3 → совместима с 1.2.x).
Использование
await browserType.connect(endpoint); await browserType.connect(endpoint, options);
Аргументы
-
endpointstringАдрес конечной точки веб-сокета браузера Playwright для подключения. Этот адрес можно получить с помощью
BrowserServer.wsEndpoint. -
optionsObject (необязательно)-
exposeNetworkstring (необязательно)Этот параметр предоставляет подключаемому браузеру доступ к сети, доступной клиенту, который устанавливает соединение. Состоит из списка правил, разделённых запятыми.
Доступные правила:
- Шаблон имени хоста, например:
example.com,*.org:99,x.*.y.com,*foo.org. - IP-адрес, например:
127.0.0.1,0.0.0.0:99,[::1],[0:0::1]:99. -
<loopback>, соответствующий локальным интерфейсам loopback:localhost,*.localhost,127.0.0.1,[::1].
Некоторые распространённые примеры:
-
"*", чтобы предоставить доступ ко всей сети. -
"<loopback>", чтобы предоставить доступ к локальной сети. -
"*.test.internal-domain,*.staging.internal-domain,<loopback>", чтобы предоставить доступ к тестовым и промежуточным средам, а также к локальной сети.
- Шаблон имени хоста, например:
-
headersObject<string, string> (необязательно)Дополнительные HTTP-заголовки, отправляемые в запросе на подключение через веб-сокет. Необязательно.
-
slowMonumber (необязательно)Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы наблюдать за происходящим. По умолчанию — 0.
-
timeoutnumber (необязательно)Максимальное время ожидания установления соединения в миллисекундах. По умолчанию —
0(без ограничения времени).
-
Возвращает
connectOverCDP
Этот метод подключает Playwright к существующему экземпляру браузера с помощью протокола Chrome DevTools.
Контекст браузера по умолчанию доступен через browser.contexts().
примечаниеПодключение через протокол Chrome DevTools поддерживается только в браузерах на основе Chromium.
примечаниеЭто соединение значительно уступает по возможностям соединению через протокол Playwright, устанавливаемому с помощью browserType.connect(). Если у вас возникли проблемы или вы хотите использовать расширенные функции, вероятно, следует использовать browserType.connect().
предупреждениеPlaywright поддерживает тщательно подобранный список аргументов для запуска браузера. Если запустить браузер без Playwright и не передать в точности те же аргументы, некоторые функции Playwright могут работать некорректно после подключения к браузеру.
Использование
const browser = await playwright.chromium.connectOverCDP('http://localhost:9222');
const defaultContext = browser.contexts()[0];
const page = defaultContext.pages()[0]; Аргументы
-
endpointURLstringАдрес конечной точки веб-сокета CDP или URL-адрес HTTP для подключения. Например,
http://localhost:9222/илиws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4. -
optionsObject (необязательно)-
artifactsDirstring (необязательно)Если указан, артефакты браузера (например, трассировки и загрузки) сохраняются в этом каталоге.
-
endpointURLstring (необязательно)УстарелоВместо этого используйте первый аргумент.
-
headersObject<string, string> (необязательно)Дополнительные HTTP-заголовки, отправляемые в запросе на подключение. Необязательно.
-
isLocalboolean (необязательно)Сообщает Playwright, что он работает на том же узле, что и сервер CDP. Это включает некоторые оптимизации, которые предполагают, что файловая система Playwright и браузера является общей.
-
noDefaultsboolean (необязательно)Если значение равно true, Playwright не применяет переопределения по умолчанию к существующему контексту браузера по умолчанию. В частности, для acceptDownloads сохраняется настройка браузера, эмуляция фокуса не включается, а параметры эмуляции медиа (например, colorScheme, reducedMotion, forcedColors и contrast) не применяются. Полезно при подключении к браузеру, которым пользователь пользуется каждый день, если такие переопределения могут нарушить его текущее состояние. Это не влияет на новые контексты, созданные с помощью browser.newContext(). По умолчанию —
false. -
slowMonumber (необязательно)Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы наблюдать за происходящим. По умолчанию — 0.
-
timeoutnumber (необязательно)Максимальное время ожидания установления соединения в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить ограничение времени.
-
Возвращает
executablePath
Добавлено до версии v1.9Путь, по которому Playwright ожидает найти исполняемый файл поставляемого в комплекте браузера.
Использование
browserType.executablePath();
Возвращает
launch
Добавлено до версии v1.9Возвращает экземпляр браузера.
Использование
Можно использовать ignoreDefaultArgs, чтобы отфильтровать --mute-audio из аргументов по умолчанию:
const browser = await chromium.launch({ // Or 'firefox' or 'webkit'.
ignoreDefaultArgs: ['--mute-audio']
}); Только Chromium. Playwright также можно использовать для управления браузерами Google Chrome и Microsoft Edge, однако лучше всего он работает с версией Chromium, которая поставляется вместе с ним. Совместимость с другими версиями не гарантируется. Используйте параметр executablePath с особой осторожностью.
Если вы предпочитаете Google Chrome (а не Chromium), рекомендуется использовать сборку Chrome Canary или Dev Channel.
Стабильные версии браузеров, таких как Google Chrome и Microsoft Edge, подходят для тестов, которым требуются проприетарные мультимедийные кодеки для воспроизведения видео. О других различиях между Chromium и Chrome см. в этой статье. В этой статье описаны некоторые различия, актуальные для пользователей Linux.
Аргументы
-
optionsObject (необязательно)-
argsArray<string> (необязательно)предупреждениеИспользуйте пользовательские аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.
Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.
-
artifactsDirstring (необязательно)Если указан, артефакты (трассировки, видео, загрузки, файлы HAR и т. д.) сохраняются в этом каталоге. При закрытии браузера каталог не очищается. Если параметр не указан, используется временный каталог, который очищается при закрытии браузера.
-
channelstring (необязательно)Канал распространения браузера.
Используйте "chromium", чтобы включить новый безголовый режим.
Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные версии Google Chrome и Microsoft Edge.
-
chromiumSandboxboolean (необязательно)Включает изоляцию Chromium в песочнице. По умолчанию —
false. -
downloadsPathstring (необязательно)Если указан, принятые загрузки сохраняются в этом каталоге. В противном случае создаётся временный каталог, который удаляется при закрытии браузера. В любом случае загрузки удаляются при закрытии контекста браузера, в котором они были созданы.
-
executablePathstring (необязательно)Путь к исполняемому файлу браузера, который нужно запустить вместо поставляемого в комплекте. Если executablePath — относительный путь, он разрешается относительно текущего рабочего каталога. Учтите, что Playwright работает только с поставляемыми в комплекте Chromium, Firefox или WebKit; используйте другие браузеры на свой страх и риск.
-
firefoxUserPrefsObject<string, string | number | boolean> (необязательно)Пользовательские настройки Firefox. Подробнее о пользовательских настройках Firefox:
about:config.Также можно указать путь к пользовательскому файлу
policies.jsonс помощью переменной средыPLAYWRIGHT_FIREFOX_POLICIES_JSON. -
handleSIGHUPboolean (необязательно)Закрывает процесс браузера при получении сигнала SIGHUP. По умолчанию —
true. -
handleSIGINTboolean (необязательно)Закрывает процесс браузера при нажатии Ctrl-C. По умолчанию —
true. -
handleSIGTERMboolean (необязательно)Закрывает процесс браузера при получении сигнала SIGTERM. По умолчанию —
true. -
headlessboolean (необязательно)Определяет, запускать ли браузер в безголовом режиме. Подробнее о Chromium и Firefox. По умолчанию —
true. -
ignoreDefaultArgsboolean | Array<string> (необязательно)Если значение
true, Playwright не передаёт собственные аргументы конфигурации и использует только аргументы из args. Если передан массив, из аргументов удаляются указанные аргументы по умолчанию. Опасный параметр; используйте с осторожностью. По умолчанию —false. -
loggerLogger (необязательно)УстарелоЖурналы, получаемые регистратором, неполные. Вместо этого используйте трассировку.
Приёмник журналов Playwright.
-
proxyObject (необязательно)-
serverstringПрокси-сервер для всех запросов. Поддерживаются прокси HTTP и SOCKS, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Краткая формаmyproxy.com:3128считается прокси HTTP. -
bypassstring (необязательно)Необязательный список доменов, разделённых запятыми, для обхода прокси, например
".com, chromium.org, .domain.com". -
usernamestring (необязательно)Необязательное имя пользователя, используемое, если для HTTP-прокси требуется аутентификация.
-
passwordstring (необязательно)Необязательный пароль, используемый, если для HTTP-прокси требуется аутентификация.
Настройки сетевого прокси.
-
-
slowMonumber (необязательно)Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы наблюдать за происходящим.
-
timeoutnumber (необязательно)Максимальное время ожидания запуска экземпляра браузера в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить ограничение времени. -
tracesDirstring (необязательно)Если указан, трассировки сохраняются в этом каталоге.
-
Возвращает
launchPersistentContext
Добавлено до версии v1.9Возвращает экземпляр постоянного контекста браузера.
Запускает браузер с постоянным хранилищем, расположенным в userDataDir, и возвращает единственный контекст. При закрытии этого контекста браузер закроется автоматически.
Использование
await browserType.launchPersistentContext(userDataDir); await browserType.launchPersistentContext(userDataDir, options);
Аргументы
-
userDataDirstringПуть к каталогу пользовательских данных, в котором хранятся данные сеанса браузера, например cookie и локальное хранилище. Передайте пустую строку, чтобы создать временный каталог.
Подробнее о Chromium и Firefox. Каталог пользовательских данных Chromium — это родительский каталог «пути к профилю», отображаемого в
chrome://version.Обратите внимание: браузеры не позволяют запускать несколько экземпляров с одним и тем же каталогом пользовательских данных.
предупреждениеChromium/Chrome: из-за недавних изменений политики Chrome автоматизация профиля пользователя Chrome по умолчанию не поддерживается. Если указать
userDataDirкак основной каталог Chrome «User Data» (профиль, используемый для обычного просмотра веб-страниц), страницы могут не загружаться или браузер может завершить работу. Вместо этого создайте и используйте отдельный каталог (например, пустую папку) в качестве профиля для автоматизации. Подробнее см. на странице https://developer.chrome.com/blog/remote-debugging-port. -
optionsObject (необязательно)
-
acceptDownloadsboolean (необязательно)Автоматически ли загружать все вложения. По умолчанию —
true, когда принимаются все загрузки. -
argsArray<string> (необязательно)предупреждениеИспользуйте пользовательские аргументы браузера на свой страх и риск, поскольку некоторые из них могут нарушить работу Playwright.
Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.
-
artifactsDirstring (необязательно)Если указано, артефакты (трассировки, видео, загрузки, файлы HAR и т. д.) сохраняются в этом каталоге. Каталог не очищается при закрытии браузера. Если каталог не указан, используется временный каталог, который очищается при закрытии браузера.
-
baseURLstring (необязательно)При использовании 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
- baseURL:
-
bypassCSPboolean (необязательно)Включает обход Content-Security-Policy страницы. По умолчанию —
false. -
channelstring (необязательно)Канал распространения браузера.
Используйте "chromium", чтобы включить новый безголовый режим.
Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные браузеры Google Chrome и Microsoft Edge.
-
chromiumSandboxboolean (необязательно)Включает песочницу Chromium. По умолчанию —
false. -
clientCertificatesArray<Object> (необязательно)-
originstringТочный источник, для которого действителен сертификат. Источник включает протокол
https, имя хоста и, необязательно, порт. -
certPathstring (необязательно)Путь к файлу с сертификатом в формате PEM.
-
certBuffer (необязательно)Непосредственное значение сертификата в формате PEM.
-
keyPathstring (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
keyBuffer (необязательно)Непосредственное значение закрытого ключа в формате PEM.
-
pfxPathstring (необязательно)Путь к файлу с закрытым ключом и цепочкой сертификатов в кодировке PFX или PKCS12.
-
pfxBuffer (необязательно)Непосредственное значение закрытого ключа и цепочки сертификатов в кодировке PFX или PKCS12.
-
passphrasestring (необязательно)Парольная фраза для закрытого ключа (PEM или PFX).
Аутентификация клиента TLS позволяет серверу запросить сертификат клиента и проверить его.
Подробности
Массив используемых сертификатов клиента. Каждый объект сертификата должен содержать либо оба параметра
certPathиkeyPath, либо толькоpfxPath, либо соответствующие им непосредственные значения (certиkeyилиpfx). Если сертификат зашифрован, следует также указать свойствоpassphrase. Свойствуoriginнеобходимо присвоить точное соответствие источнику запроса, для которого действителен сертификат.Аутентификация с помощью сертификата клиента активна только в том случае, если предоставлен хотя бы один сертификат клиента. Если необходимо отклонять все сертификаты клиента, отправляемые сервером, следует предоставить сертификат клиента с параметром
origin, не соответствующим ни одному из доменов, которые вы планируете посещать.примечаниеПри использовании WebKit в macOS доступ к
localhostне обнаруживает сертификаты клиента. Это можно исправить, заменивlocalhostнаlocal.playwright. -
-
colorSchemenull | "light" | "dark" | "no-preference" (необязательно)Имитирует медиавозможность prefers-colors-scheme; допустимые значения:
'light'и'dark'. Дополнительные сведения см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных настроек по умолчанию. По умолчанию —'light'. -
contrastnull | "no-preference" | "more" (необязательно)Имитирует медиавозможность
'prefers-contrast'; допустимые значения:'no-preference','more'. Дополнительные сведения см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных настроек по умолчанию. По умолчанию —'no-preference'. -
deviceScaleFactornumber (необязательно)Задаёт коэффициент масштабирования устройства (его можно рассматривать как dpr). По умолчанию —
1. Подробнее об эмуляции устройств с коэффициентом масштабирования. -
downloadsPathstring (необязательно)Если указано, принятые загрузки сохраняются в этом каталоге. В противном случае создаётся временный каталог, который удаляется при закрытии браузера. В обоих случаях загрузки удаляются при закрытии контекста браузера, в котором они были созданы.
-
executablePathstring (необязательно)Путь к исполняемому файлу браузера, который будет запущен вместо встроенного. Если executablePath — относительный путь, он разрешается относительно текущего рабочего каталога. Обратите внимание, что Playwright работает только со встроенными Chromium, Firefox или WebKit; используйте этот параметр на свой страх и риск.
-
extraHTTPHeadersObject<string, string> (необязательно)Объект с дополнительными HTTP-заголовками, отправляемыми с каждым запросом. По умолчанию заголовки отсутствуют.
-
firefoxUserPrefsObject<string, string | number | boolean> (необязательно)Пользовательские настройки Firefox. Подробнее о пользовательских настройках Firefox см. в разделе
about:config.Вы также можете указать путь к пользовательскому файлу
policies.jsonс помощью переменной окруженияPLAYWRIGHT_FIREFOX_POLICIES_JSON. -
forcedColorsnull | "active" | "none" (необязательно)Имитирует медиавозможность
'forced-colors'; допустимые значения:'active','none'. Дополнительные сведения см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных настроек по умолчанию. По умолчанию —'none'. -
geolocationObject (необязательно) -
handleSIGHUPboolean (необязательно)Закрывать ли процесс браузера при получении SIGHUP. По умолчанию —
true. -
handleSIGINTboolean (необязательно)Закрывать ли процесс браузера при нажатии Ctrl-C. По умолчанию —
true. -
handleSIGTERMboolean (необязательно)Закрывать ли процесс браузера при получении SIGTERM. По умолчанию —
true. -
hasTouchboolean (необязательно)Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее о эмуляции мобильных устройств.
-
headlessboolean (необязательно)Запускать ли браузер в безголовом режиме. Подробнее см. в документации для Chromium и Firefox. По умолчанию —
true. -
httpCredentialsObject | Array<Object> (необязательно)-
usernamestring -
passwordstring -
originstring (необязательно)Ограничивает отправку учетных данных HTTP для конкретного источника (scheme://host:port).
-
send"unauthorized" | "always" (необязательно)Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'— заголовокAuthorizationс учетными данными базовой аутентификации будет отправляться с каждым API-запросом.'unauthorized— учетные данные отправляются только после получения ответа 401 (Unauthorized) с заголовкомWWW-Authenticate. По умолчанию —'unauthorized'.
Учетные данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любые серверы при получении ответов о неавторизованном доступе.
Передайте массив, чтобы использовать разные учетные данные для разных источников. Используется первая запись, соответствующая источнику запроса; записи без указанного источника соответствуют любому запросу.
-
-
ignoreDefaultArgsboolean | Array<string> (необязательно)Если
true, Playwright не передаёт собственные аргументы конфигурации и использует только аргументы из args. Если задан массив, из аргументов по умолчанию исключаются указанные элементы. Опасный параметр; используйте осторожно. По умолчанию —false. -
ignoreHTTPSErrorsboolean (необязательно)Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию —
false. -
isMobileboolean (необязательно)Учитывается ли тег
meta viewportи включаются ли сенсорные события. isMobile является частью устройства, поэтому обычно не нужно задавать его вручную. По умолчанию —false; в Firefox не поддерживается. Подробнее об эмуляции мобильных устройств. -
javaScriptEnabledboolean (необязательно)Включать ли JavaScript в контексте. По умолчанию —
true. Подробнее об отключении JavaScript. -
localestring (необязательно)Укажите локаль пользователя, например
en-GB,de-DEи т. д. Локаль влияет на значениеnavigator.language, значение заголовка запросаAccept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции см. в нашем руководстве по эмуляции. -
loggerLogger (необязательно)УстарелоЖурналы, получаемые регистратором, неполны. Вместо этого используйте трассировку.
Приёмник журнала для ведения журналов Playwright.
-
offlineboolean (необязательно)Имитировать ли отсутствие подключения к сети. По умолчанию —
false. Подробнее об эмуляции сети. -
permissionsArray<string> (необязательно)Список разрешений, предоставляемых всем страницам в этом контексте. Дополнительные сведения см. в browserContext.grantPermissions(). По умолчанию разрешения не предоставляются.
-
proxyObject (необязательно)-
serverstringПрокси для всех запросов. Поддерживаются HTTP- и SOCKS-прокси, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Сокращённая формаmyproxy.com:3128считается HTTP-прокси. -
bypassstring (необязательно)Необязательный список доменов, разделённых запятыми, для обхода прокси, например
".com, chromium.org, .domain.com". -
usernamestring (необязательно)Необязательное имя пользователя, используемое, если HTTP-прокси требует аутентификации.
-
passwordstring (необязательно)Необязательный пароль, используемый, если HTTP-прокси требует аутентификации.
Настройки сетевого прокси.
-
-
recordHarObject (необязательно)-
omitContentboolean (необязательно)Необязательный параметр, управляющий исключением содержимого запросов из HAR. По умолчанию —
false. Устарел; вместо него используйте политикуcontent. -
content"omit" | "embed" | "attach" (необязательно)Необязательный параметр, управляющий хранением содержимого ресурсов. Если указано
omit, содержимое не сохраняется. Если указаноattach, ресурсы сохраняются в виде отдельных файлов или записей в ZIP-архиве. Если указаноembed, содержимое встраивается в файл HAR в соответствии со спецификацией HAR. Для выходных файловattachиспользуется значение.zip, а для всех остальных расширений файлов —embed. -
pathstringПуть в файловой системе, по которому следует записать файл HAR. Если имя файла оканчивается на
.zip, по умолчанию используетсяcontent: 'attach'. -
mode"full" | "minimal" (необязательно)Если задано значение
minimal, из HAR записываются только сведения, необходимые для маршрутизации. Не записываются размеры, время, сведения о странице, файлах cookie, безопасности и другие данные HAR, не используемые при воспроизведении из HAR. По умолчанию —full. -
urlFilterstring | RegExp (необязательно)Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если в параметрах контекста указан baseURL, а переданный URL является путём, он объединяется с ним с помощью конструктора
new URL(). По умолчанию не задано.
Включает запись HAR для всех страниц в файл
recordHar.path. Если файл не указан, запись HAR не ведётся. Чтобы сохранить HAR, обязательно дождитесь завершения browserContext.close(). -
-
recordVideoObject (необязательно)-
dirstring (необязательно)Путь к каталогу для сохранения видео. Если не указан, видео сохраняются в
artifactsDir(см. параметры browserType.launch()). -
sizeObject (необязательно)Необязательные размеры записываемого видео. Если не указаны, размер будет соответствовать
viewport, уменьшенному так, чтобы поместиться в область 800x800. Еслиviewportявно не задан, размер видео по умолчанию составляет 800x450. Изображение каждой страницы при необходимости уменьшается, чтобы соответствовать указанному размеру. -
showActionsObject (необязательно)-
durationnumber (необязательно)Длительность отображения каждой аннотации в миллисекундах. По умолчанию —
500. -
position"top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)Положение наложения с названием действия. По умолчанию —
"top-right". -
fontSizenumber (необязательно)Размер шрифта названия действия в пикселях. По умолчанию —
24. -
cursor"none" | "pointer" (необязательно)Оформление курсора для действий с указателем.
"pointer"(значение по умолчанию) отображает указатель мыши, анимированно перемещающийся от точки предыдущего действия к точке следующего."none"отключает оформление курсора.
Если параметр указан, во время записи видео на взаимодействующих элементах включаются визуальные аннотации.
-
Включает запись видео для всех страниц в каталог
recordVideo.dir. Если каталог не указан, видео не записываются. Чтобы сохранить видео, обязательно дождитесь завершения browserContext.close(). -
-
-
reducedMotionnull | "reduce" | "no-preference" (необязательно)Эмулирует медиафункцию
'prefers-reduced-motion', поддерживаются значения'reduce','no-preference'. Подробнее см. в описании page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным значениям по умолчанию. По умолчанию используется'no-preference'. -
screenObject (необязательно)Эмулирует согласованный размер экрана окна, доступный внутри веб-страницы через
window.screen. Используется только при установленном значении viewport. -
serviceWorkers"allow" | "block" (необязательно)Разрешать ли сайтам регистрировать Service Workers. По умолчанию используется
'allow'.-
'allow': можно регистрировать сервис-воркеры. -
'block': Playwright будет блокировать регистрацию всех сервис-воркеров.
-
-
slowMonumber (необязательно)Замедляет выполнение операций Playwright на указанное количество миллисекунд. Полезно, чтобы можно было наблюдать за происходящим.
-
strictSelectorsboolean (необязательно)Если установлено значение true, для этого контекста включается режим строгих селекторов. В режиме строгих селекторов все операции с селекторами, предполагающими один целевой элемент DOM, вызовут исключение, если селектору соответствуют несколько элементов. Этот параметр не влияет на API Locator (для Locator всегда действует строгий режим). По умолчанию используется
false. Подробнее о строгом режиме см. в описании Locator. -
timeoutnumber (необязательно)Максимальное время ожидания запуска экземпляра браузера в миллисекундах. По умолчанию используется
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. -
timezoneIdstring (необязательно)Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt проекта ICU. По умолчанию используется системный часовой пояс.
-
tracesDirstring (необязательно)Если указано, трассировки сохраняются в эту директорию.
-
userAgentstring (необязательно)Пользовательский агент, используемый в этом контексте.
-
viewportnull | Object (необязательно)Эмулирует согласованную область просмотра для каждой страницы. По умолчанию используется область просмотра размером 1280x720. Используйте
null, чтобы отключить эмуляцию согласованной области просмотра. Подробнее см. в разделе эмуляция области просмотра.примечаниеЗначение
nullотменяет стандартные предустановки, и область просмотра начинает зависеть от размера окна хоста, заданного операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
launchServer
Добавлено до v1.9Возвращает экземпляр приложения браузера. К нему можно подключиться с помощью browserType.connect(); для этого версии клиента и сервера должны совпадать по основным и дополнительным номерам (1.2.3 → совместима с 1.2.x).
Использование
Запускает сервер браузера, к которому может подключиться клиент. Пример запуска исполняемого файла браузера и последующего подключения к нему:
const { chromium } = require('playwright'); // Or 'webkit' or 'firefox'.
(async () => {
const browserServer = await chromium.launchServer();
const wsEndpoint = browserServer.wsEndpoint();
// Use web socket endpoint later to establish a connection.
const browser = await chromium.connect(wsEndpoint);
// Close browser instance.
await browserServer.close();
})(); Аргументы
-
optionsObject (необязательно)-
argsArray<string> (необязательно)предупреждениеИспользуйте пользовательские аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.
Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.
-
artifactsDirstring (необязательно)Если указано, артефакты (трассировки, видео, загрузки, файлы HAR и т. д.) сохраняются в эту директорию. Директория не очищается при закрытии браузера. Если параметр не указан, используется временная директория, которая очищается при закрытии браузера.
-
channelstring (необязательно)Канал дистрибутива браузера.
Используйте "chromium", чтобы включить новый режим headless.
Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные версии Google Chrome и Microsoft Edge.
-
chromiumSandboxboolean (необязательно)Включает песочницу Chromium. По умолчанию используется
false. -
downloadsPathstring (необязательно)Если указано, принятые загрузки сохраняются в эту директорию. В противном случае создаётся временная директория, которая удаляется при закрытии браузера. В обоих случаях загрузки удаляются при закрытии контекста браузера, в котором они были созданы.
-
executablePathstring (необязательно)Путь к исполняемому файлу браузера, который нужно запустить вместо входящего в комплект. Если executablePath — относительный путь, он разрешается относительно текущей рабочей директории. Обратите внимание, что Playwright работает только с входящими в комплект Chromium, Firefox или WebKit; используйте этот параметр на свой страх и риск.
-
firefoxUserPrefsObject<string, string | number | boolean> (необязательно)Пользовательские настройки Firefox. Подробнее о пользовательских настройках Firefox см. на странице
about:config.Вы также можете указать путь к пользовательскому файлу
policies.jsonс помощью переменной окруженияPLAYWRIGHT_FIREFOX_POLICIES_JSON. -
handleSIGHUPboolean (необязательно)Закрывать процесс браузера при получении SIGHUP. По умолчанию используется
true. -
handleSIGINTboolean (необязательно)Закрывать процесс браузера при нажатии Ctrl-C. По умолчанию используется
true. -
handleSIGTERMboolean (необязательно)Закрывать процесс браузера при получении SIGTERM. По умолчанию используется
true. -
headlessboolean (необязательно)Запускать ли браузер в режиме headless. Подробнее см. в документации для Chromium и Firefox. По умолчанию используется
true. -
hoststring (необязательно)Хост для веб-сокета. Параметр необязательный; по умолчанию используется
localhost, который принимает подключения только через интерфейс обратной петли. Передайте явный адрес (например,0.0.0.0), чтобы принимать подключения из сети — учтите, что это открывает доступ к RPC браузера для всех, кто может подключиться к порту прослушивания. -
ignoreDefaultArgsboolean | Array<string> (необязательно)Если
true, Playwright не передаёт собственные аргументы конфигурации и использует только аргументы из args. Если передан массив, указанные в нём аргументы исключаются из списка аргументов по умолчанию. Опасный параметр; используйте с осторожностью. По умолчанию используетсяfalse. -
loggerLogger (необязательно)УстарелоЖурналы, получаемые регистратором, неполны. Вместо этого используйте трассировку.
Приёмник журналов Playwright.
-
portnumber (необязательно)Порт для веб-сокета. По умолчанию используется 0 — будет выбран любой доступный порт.
-
proxyObject (необязательно)-
serverstringПрокси-сервер, используемый для всех запросов. Поддерживаются прокси HTTP и SOCKS, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Краткая формаmyproxy.com:3128считается прокси HTTP. -
bypassstring (необязательно)Необязательный список доменов, разделённых запятыми, для обхода прокси, например
".com, chromium.org, .domain.com". -
usernamestring (необязательно)Необязательное имя пользователя для аутентификации, если прокси HTTP её требует.
-
passwordstring (необязательно)Необязательный пароль для аутентификации, если прокси HTTP её требует.
Параметры сетевого прокси.
-
-
timeoutnumber (необязательно)Максимальное время ожидания запуска экземпляра браузера в миллисекундах. По умолчанию используется
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. -
tracesDirstring (необязательно)Если указано, трассировки сохраняются в эту директорию.
-
wsPathstring (необязательно)Путь, по которому будет доступен сервер браузера. В целях безопасности по умолчанию используется непредсказуемая строка.
предупреждениеЛюбой процесс или веб-страница (в том числе запущенные в Playwright), которым известен
wsPath, могут получить контроль над пользователем ОС. Поэтому при использовании этого параметра следует задавать непредсказуемый токен.
-
Возвращает
name
Добавлено до v1.9Возвращает название браузера. Например: 'chromium', 'webkit' или 'firefox'.
Использование
browserType.name();
Возвращает
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-browsertype