BrowserType
BrowserType предоставляет методы для запуска конкретного экземпляра браузера или подключения к существующему. Ниже приведен типичный пример использования Playwright для автоматизации:
const { chromium } = require('playwright'); // Или 'firefox', или 'webkit'.
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// другие действия...
await browser.close();
})();
Методы
connect
Добавлено до v1.9Этот метод подключает Playwright к существующему экземпляру браузера, созданному с помощью BrowserType.launchServer
в Node.js.
Основная и минорная версии экземпляра Playwright, который подключается, должны совпадать с версией Playwright, которая запускает браузер (1.2.3 → совместимо с 1.2.x).
Использование
await browserType.connect(wsEndpoint);
await browserType.connect(wsEndpoint, options);
Аргументы
-
wsEndpoint
string Добавлено в: v1.10#Веб-сокет конечная точка браузера Playwright для подключения. Вы получаете эту конечную точку через
BrowserServer.wsEndpoint
. -
options
Object (необязательно)-
exposeNetwork
string (необязательно) Добавлено в: v1.37#Эта опция открывает сеть, доступную на подключающемся клиенте, для браузера, к которому происходит подключение. Состоит из списка правил, разделенных запятой.
Доступные правила:
- Шаблон имени хоста, например:
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>
, который соответствует локальным интерфейсам обратной связи:localhost
,*.localhost
,127.0.0.1
,[::1]
.
Некоторые распространенные примеры:
"*"
для открытия всей сети."<loopback>"
для открытия сети localhost."*.test.internal-domain,*.staging.internal-domain,<loopback>"
для открытия тестовых/стадийных развертываний и localhost.
- Шаблон имени хоста, например:
-
headers
Object<string, string> (необязательно) Добавлено в: v1.11#Дополнительные HTTP заголовки, которые будут отправлены с запросом на подключение веб-сокета. Необязательно.
-
logger
Logger (необязательно) Добавлено в: v1.14#Логгер для ведения журналов Playwright. Необязательно.
-
slowMo
number (необязательно) Добавлено в: v1.10#Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы вы могли видеть, что происходит. По умолчанию 0.
-
timeout
number (необязательно) Добавлено в: v1.10#Максимальное время в миллисекундах для ожидания установления соединения. По умолчанию
0
(без таймаута).
-
Возвращает
connectOverCDP
Добавлено в: v1.9Этот метод подключает Playwright к существующему экземпляру браузера с использованием Протокола DevTools Chrome.
Контекст браузера по умолчанию доступен через browser.contexts().
Подключение через Протокол DevTools Chrome поддерживается только для браузеров на основе Chromium.
Это соединение значительно менее точное, чем соединение по протоколу Playwright через browserType.connect(). Если у вас возникают проблемы или вы пытаетесь использовать расширенные функции, вам, вероятно, следует использовать browserType.connect().
Использование
const browser = await playwright.chromium.connectOverCDP('http://localhost:9222');
const defaultContext = browser.contexts()[0];
const page = defaultContext.pages()[0];
Аргументы
-
endpointURL
string Добавлено в: v1.11#Веб-сокет конечная точка CDP или http URL для подключения. Например,
http://localhost:9222/
илиws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4
. -
options
Object (необязательно)-
endpointURL
string (необязательно) Добавлено в: v1.14#Устарело, используйте первый аргумент вместо. Необязательно.
-
headers
Object<string, string> (необязательно) Добавлено в: v1.11#Дополнительные HTTP заголовки, которые будут отправлены с запросом на подключение. Необязательно.
-
logger
Logger (необязательно) Добавлено в: v1.14#Логгер для ведения журналов Playwright. Необязательно.
-
slowMo
number (необязательно) Добавлено в: v1.11#Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы вы могли видеть, что происходит. По умолчанию 0.
-
timeout
number (необязательно) Добавлено в: v1.11#Максимальное время в миллисекундах для ожидания установления соединения. По умолчанию
30000
(30 секунд). Установите0
, чтобы отключить таймаут.
-
Возвращает
executablePath
Добавлено до v1.9Путь, по которому Playwright ожидает найти исполняемый файл браузера.
Использование
browserType.executablePath();
Возвращает
launch
Добавлено до v1.9Возвращает экземпляр браузера.
Использование
Вы можете использовать ignoreDefaultArgs, чтобы исключить --mute-audio
из аргументов по умолчанию:
const browser = await chromium.launch({ // Или 'firefox', или '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.
Аргументы
options
Object (необязательно)-
args
Array<string> (необязательно)#warningИспользуйте пользовательские аргументы браузера на свой страх и риск, так как некоторые из них могут нарушить функциональность Playwright.
Дополнительные аргументы для передачи экземпляру браузера. Список флагов Chromium можно найти здесь.
-
channel
string (необязательно)#Канал распространения браузера.
Используйте "chromium", чтобы подключиться к новому безголовому режиму.
Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные Google Chrome и Microsoft Edge.
-
chromiumSandbox
boolean (необязательно)#Включить песочницу Chromium. По умолчанию
false
. -
devtools
boolean (необязательно)#УстарелоИспользуйте инструменты отладки вместо.
Только для Chromium Указывает, следует ли автоматически открывать панель инструментов разработчика для каждой вкладки. Если эта опция установлена в
true
, опция headless будет установлена вfalse
. -
downloadsPath
string (необязательно)#Если указано, принятые загрузки загружаются в этот каталог. В противном случае создается временный каталог, который удаляется при закрытии браузера. В любом случае загрузки удаляются, когда закрывается контекст браузера, в котором они были созданы.
-
env
Object<string, string | number | boolean> (необязательно)#Укажите переменные окружения, которые будут видны браузеру. По умолчанию
process.env
. -
executablePath
string (необязательно)#Путь к исполняемому файлу браузера, который нужно запустить вместо встроенного. Если executablePath является относительным путем, то он разрешается относительно текущего рабочего каталога. Обратите внимание, что Playwright работает только с встроенным Chromium, Firefox или WebKit, используйте на свой страх и риск.
-
firefoxUserPrefs
Object<string, string | number | boolean> (необязательно)#Пользовательские настройки Firefox. Узнайте больше о пользовательских настройках Firefox на
about:config
. -
handleSIGHUP
boolean (необязательно)#Закрыть процесс браузера при SIGHUP. По умолчанию
true
. -
handleSIGINT
boolean (необязательно)#Закрыть процесс браузера при нажатии Ctrl-C. По умолчанию
true
. -
handleSIGTERM
boolean (необязательно)#Закрыть процесс браузера при SIGTERM. По умолчанию
true
. -
headless
boolean (необязательно)#Указывает, следует ли запускать браузер в безголовом режиме. Более подробная информация для Chromium и Firefox. По умолчанию
true
, если опция devtools не установлена вtrue
. -
ignoreDefaultArgs
boolean | Array<string> (необязательно)#Если
true
, Playwright не передает свои собственные аргументы конфигурации и использует только те, что из args. Если передан массив, то фильтруются указанные аргументы по умолчанию. Опасная опция; используйте с осторожностью. По умолчаниюfalse
. -
logger
Logger (необязательно)#Логгер для ведения журналов Playwright.
-
-
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 прокси требует аутентификации.
Настройки сетевого прокси.
-
-
slowMo
number (необязательно)#Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы вы могли видеть, что происходит.
-
timeout
number (необязательно)#Максимальное время в миллисекундах для ожидания запуска экземпляра браузера. По умолчанию
30000
(30 секунд). Установите0
, чтобы отключить таймаут. -
tracesDir
string (необязательно)#Если указано, трассировки сохраняются в этот каталог.
-
Возвращает
launchPersistentContext
Добавлено до v1.9Возвращает экземпляр постоянного контекста браузера.
Запускает браузер, который использует постоянное хранилище, расположенное в userDataDir, и возвращает единственный контекст. Закрытие этого контекста автоматически закроет браузер.
Использование
await browserType.launchPersistentContext(userDataDir);
await browserType.launchPersistentContext(userDataDir, options);
Аргументы
-
Путь к каталогу пользовательских данных, который хранит данные сеанса браузера, такие как куки и локальное хранилище. Более подробная информация для Chromium и Firefox. Обратите внимание, что каталог пользовательских данных Chromium является родительским каталогом "Пути профиля", видимого на
chrome://version
. Передайте пустую строку, чтобы использовать временный каталог вместо. -
options
Object (необязательно)-
acceptDownloads
boolean (необязательно)#Указывает, следует ли автоматически загружать все вложения. По умолчанию
true
, когда все загрузки принимаются. -
args
Array<string> (необязательно)#warningИспользуйте пользовательские аргументы браузера на свой страх и риск, так как некоторые из них могут нарушить функциональность Playwright.
Дополнительные аргументы для передачи экземпляру браузера. Список флагов Chromium можно найти здесь.
-
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
- baseURL:
-
bypassCSP
boolean (необязательно)#Переключает обход политики безопасности контента страницы. По умолчанию
false
. -
channel
string (необязательно)#Канал распространения браузера.
Используйте "chromium", чтобы подключиться к новому безголовому режиму.
Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные Google Chrome и Microsoft Edge.
-
chromiumSandbox
boolean (необязательно)#Включить песочницу Chromium. По умолчанию
false
. -
clientCertificates
Array<Object> (необязательно) Добавлено в: 1.46#-
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
должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.примечаниеПри использовании 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
. Узнайте больше о эмуляции устройств с коэффициентом масштабирования устройства. -
devtools
boolean (необязательно)#УстарелоИспользуйте инструменты отладки вместо.
Только для Chromium Указывает, следует ли автоматически открывать панель инструментов разработчика для каждой вкладки. Если эта опция установлена в
true
, опция headless будет установлена вfalse
. -
downloadsPath
string (необязательно)#Если указано, принятые загрузки загружаются в этот каталог. В противном случае создается временный каталог, который удаляется при закрытии браузера. В любом случае загрузки удаляются, когда закрывается контекст браузера, в котором они были созданы.
-
env
Object<string, string | number | boolean> (необязательно)#Укажите переменные окружения, которые будут видны браузеру. По умолчанию
process.env
. -
executablePath
string (необязательно)#Путь к исполняемому файлу браузера, который нужно запустить вместо встроенного. Если executablePath является относительным путем, то он разрешается относительно текущего рабочего каталога. Обратите внимание, что Playwright работает только с встроенным Chromium, Firefox или WebKit, используйте на свой страх и риск.
-
extraHTTPHeaders
Object<string, string> (необязательно)#Объект, содержащий дополнительные HTTP заголовки, которые будут отправлены с каждым запросом. По умолчанию отсутствуют.
-
firefoxUserPrefs
Object<string, string | number | boolean> (необязательно) Добавлено в: v1.40#Пользовательские настройки Firefox. Узнайте больше о пользовательских настройках Firefox на
about:config
. -
forcedColors
null | "active" | "none" (необязательно)#Эмулирует медиа-функцию
'forced-colors'
, поддерживаемые значения:'active'
,'none'
. См. page.emulateMedia() для получения дополнительной информации. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'none'
. -
handleSIGHUP
boolean (необязательно)#Закрыть процесс браузера при SIGHUP. По умолчанию
true
. -
handleSIGINT
boolean (необязательно)#Закрыть процесс браузера при нажатии Ctrl-C. По умолчанию
true
. -
handleSIGTERM
boolean (необязательно)#Закрыть процесс браузера при SIGTERM. По умолчанию
true
. -
hasTouch
boolean (необязательно)#Указывает, поддерживает ли viewport события касания. По умолчанию false. Узнайте больше о мобильной эмуляции.
-
headless
boolean (необязательно)#Указывает, следует ли запускать браузер в безголовом режиме. Более подробная информация для Chromium и Firefox. По умолчанию
true
, если опция devtools не установлена вtrue
. -
httpCredentials
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 аутентификации. Если не указан источник, имя пользователя и пароль отправляются на любые серверы при несанкционированных ответах.
-
-
ignoreDefaultArgs
boolean | Array<string> (необязательно)#Если
true
, Playwright не передает свои собственные аргументы конфигурации и использует только те, что из args. Если передан массив, то фильтруются указанные аргументы по умолчанию. Опасная опция; используйте с осторожностью. По умолчаниюfalse
. -
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() для получения дополнительной информации. По умолчанию отсутствуют.
-
-
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. Это исключает размеры, время, страницу, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчаниюfull
. -
urlFilter
string | RegExp (необязательно)Шаблон glob или regex для фильтрации запросов, которые сохраняются в HAR. Когда был предоставлен baseURL через параметры контекста, и переданный URL является путем, он объединяется с помощью конструктора
new URL()
. По умолчанию отсутствует.
Включает запись HAR для всех страниц в файл
recordHar.path
. Если не указано, HAR не записывается. Убедитесь, что вы ожидаете browserContext.close() для сохранения HAR. -
-
recordVideo
Object (необязательно)#-
dir
stringПуть к каталогу для сохранения видео.
-
size
Object (необязательно)Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport
, уменьшенному, чтобы вписаться в 800x800. Еслиviewport
не настроен явно, размер видео по умолчанию составляет 800x450. Фактическое изображение каждой страницы будет уменьшено, если это необходимо, чтобы соответствовать указанному размеру.
Включает запись видео для всех страниц в каталог
recordVideo.dir
. Если не указано, видео не записываются. Убедитесь, что вы ожидаете browserContext.close() для сохранения видео. -
-
reducedMotion
null | "reduce" | "no-preference" (необязательно)#Эмулирует медиа-функцию
'prefers-reduced-motion'
, поддерживаемые значения:'reduce'
,'no-preference'
. См. page.emulateMedia() для получения дополнительной информации. Передачаnull
сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию'no-preference'
. -
screen
Object (необязательно)#Эмулирует постоянный размер экрана окна, доступный внутри веб-страницы через
window.screen
. Используется только когда установлен viewport. -
serviceWorkers
"allow" | "block" (необязательно)#Указывает, разрешено ли сайтам регистрировать сервисные рабочие процессы. По умолчанию
'allow'
.'allow'
: Сервисные рабочие процессы могут быть зарегистрированы.'block'
: Playwright будет блокировать всю регистрацию сервисных рабочих процессов.
-
slowMo
number (необязательно)#Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы вы могли видеть, что происходит.
-
strictSelectors
boolean (необязательно)#Если установлено в true, включает строгий режим селекторов для этого контекста. В строгом режиме селекторы, которые подразумевают единственный целевой элемент DOM, будут вызывать ошибку, если совпадает более одного элемента. Эта опция не влияет на любые API Locator (локаторы всегда строгие). По умолчанию
false
. См. Locator, чтобы узнать больше о строгом режиме. -
timeout
number (необязательно)#Максимальное время в миллисекундах для ожидания запуска экземпляра браузера. По умолчанию
30000
(30 секунд). Установите0
, чтобы отключить таймаут. -
timezoneId
string (необязательно)#Изменяет часовой пояс контекста. См. ICU's metaZones.txt для списка поддерживаемых идентификаторов часовых поясов. По умолчанию используется системный часовой пояс.
-
tracesDir
string (необязательно)#Если указано, трассировки сохраняются в этот каталог.
-
userAgent
string (необязательно)#Конкретный пользовательский агент для использования в этом контексте.
-
videoSize
Object (необязательно)#УстарелоИспользуйте recordVideo вместо.
-
videosPath
string (необязательно)#УстарелоИспользуйте recordVideo вместо.
-
viewport
null | Object (необязательно)#Эмулирует постоянный viewport для каждой страницы. По умолчанию 1280x720. Используйте
null
, чтобы отключить эмуляцию постоянного viewport.примечаниеЗначение
null
отказывается от предустановленных значений по умолчанию, делает viewport зависимым от размера окна хоста, определяемого операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
launchServer
Добавлено до v1.9Возвращает экземпляр приложения браузера. Вы можете подключиться к нему через browserType.connect(), что требует совпадения основной/минорной версии клиента/сервера (1.2.3 → совместимо с 1.2.x).
Использование
Запускает сервер браузера, к которому клиент может подключиться. Пример запуска исполняемого файла браузера и последующего подключения к нему:
const { chromium } = require('playwright'); // Или 'webkit', или 'firefox'.
(async () => {
const browserServer = await chromium.launchServer();
const wsEndpoint = browserServer.wsEndpoint();
// Используйте веб-сокет конечную точку позже для установления соединения.
const browser = await chromium.connect(wsEndpoint);
// Закрыть экземпляр браузера.
await browserServer.close();
})();
Аргументы
options
Object (необязательно)-
args
Array<string> (необязательно)#warningИспользуйте пользовательские аргументы браузера на свой страх и риск, так как некоторые из них могут нарушить функциональность Playwright.
Дополнительные аргументы для передачи экземпляру браузера. Список флагов Chromium можно найти здесь.
-
channel
string (необязательно)#Канал распространения браузера.
Используйте "chromium", чтобы подключиться к новому безголовому режиму.
Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные Google Chrome и Microsoft Edge.
-
chromiumSandbox
boolean (необязательно)#Включить песочницу Chromium. По умолчанию
false
. -
devtools
boolean (необязательно)#УстарелоИспользуйте инструменты отладки вместо.
Только для Chromium Указывает, следует ли автоматически открывать панель инструментов разработчика для каждой вкладки. Если эта опция установлена в
true
, опция headless будет установлена вfalse
. -
downloadsPath
string (необязательно)#Если указано, принятые загрузки загружаются в этот каталог. В противном случае создается временный каталог, который удаляется при закрытии браузера. В любом случае загрузки удаляются, когда закрывается контекст браузера, в котором они были созданы.
-
env
Object<string, string | number | boolean> (необязательно)#Укажите переменные окружения, которые будут видны браузеру. По умолчанию
process.env
. -
executablePath
string (необязательно)#Путь к исполняемому файлу браузера, который нужно запустить вместо встроенного. Если executablePath является относительным путем, то он разрешается относительно текущего рабочего каталога. Обратите внимание, что Playwright работает только с встроенным Chromium, Firefox или WebKit, используйте на свой страх и риск.
-
firefoxUserPrefs
Object<string, string | number | boolean> (необязательно)#Пользовательские настройки Firefox. Узнайте больше о пользовательских настройках Firefox на
about:config
. -
handleSIGHUP
boolean (необязательно)#Закрыть процесс браузера при SIGHUP. По умолчанию
true
. -
handleSIGINT
boolean (необязательно)#Закрыть процесс браузера при нажатии Ctrl-C. По умолчанию
true
. -
handleSIGTERM
boolean (необязательно)#Закрыть процесс браузера при SIGTERM. По умолчанию
true
. -
headless
boolean (необязательно)#Указывает, следует ли запускать браузер в безголовом режиме. Более подробная информация для Chromium и Firefox. По умолчанию
true
, если опция devtools не установлена вtrue
. -
host
string (необязательно) Добавлено в: v1.45#Хост, который будет использоваться для веб-сокета. Это необязательно, и если оно опущено, сервер будет принимать соединения на неуказанном IPv6 адресе (::), когда доступен IPv6, или на неуказанном IPv4 адресе (0.0.0.0) в противном случае. Рассмотрите возможность повышения безопасности, выбрав конкретный интерфейс.
-
ignoreDefaultArgs
boolean | Array<string> (необязательно)#Если
true
, Playwright не передает свои собственные аргументы конфигурации и использует только те, что из args. Если передан массив, то фильтруются указанные аргументы по умолчанию. Опасная опция; используйте с осторожностью. По умолчаниюfalse
. -
logger
Logger (необязательно)#Логгер для ведения журналов Playwright.
-
Порт, который будет использоваться для веб-сокета. По умолчанию 0, что выбирает любой доступный порт.
-
-
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 прокси требует аутентификации.
Настройки сетевого прокси.
-
-
timeout
number (необязательно)#Максимальное время в миллисекундах для ожидания запуска экземпляра браузера. По умолчанию
30000
(30 секунд). Установите0
, чтобы отключить таймаут. -
tracesDir
string (необязательно)#Если указано, трассировки сохраняются в этот каталог.
-
wsPath
string (необязательно) Добавлено в: v1.15#Путь, по которому будет обслуживаться сервер браузера. Для безопасности по умолчанию используется непредсказуемая строка.
warningЛюбой процесс или веб-страница (включая те, которые работают в Playwright), знающие о
wsPath
, могут взять под контроль пользователя ОС. По этой причине вы должны использовать непредсказуемый токен при использовании этой опции.
-
Возвращает
name
Добавлено до v1.9Возвращает имя браузера. Например: 'chromium'
, 'webkit'
или 'firefox'
.
Использование
browserType.name();
Возвращает