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
(без таймаута).
-
Возвращает
- [Promise]<[Browser]>#
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
, чтобы отключить таймаут.
-
Возвращает
- [Promise]<[Browser]>#
executablePath
Добавлено до v1.9Путь, по которому Playwright ожидает найти исполняемый файл браузера.
Использование
browserType.executablePath();
Возвращает
- [string]#
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.
-
proxy
[Object] (необязательно)#-
server
[string]Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128
илиsocks5://myproxy.com:3128
. Краткая формаmyproxy.com:3128
считается HTTP прокси. -
bypass
[string] (необязательно)Необязательные домены, разделенные запятой, для обхода прокси, например
".com, chromium.org, .domain.com"
. -
username
[string] (необязательно)Необязательное имя пользователя, которое будет использоваться, если HTTP прокси требует аутентификации.
-
password
[string] (необязательно)Необязательный пароль, который будет использоваться, если HTTP прокси требует аутентификации.
Настройки сетевого прокси.
-
-
slowMo
[number] (необязательно)#Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы вы могли видеть, что происходит.
-
timeout
[number] (необязательно)#Максимальное время в миллисекундах для ожидания запуска экземпляра браузера. По умолчанию
30000
(30 секунд). Установите0
, чтобы отключить таймаут. -
tracesDir
[string] (необязательно)#Если указано, трассировки сохраняются в этот каталог.
-
Возвращает
- [Promise]<[Browser]>#
launchPersistentContext
Добавлено до v1.9Возвращает экземпляр постоянного контекста браузера.
Запускает браузер, который использует постоянное хранилище, расположенное в userDataDir, и возвращает единственный контекст. Закрытие этого контекста автоматически закроет браузер.
Использование
await browserType.launchPersistentContext(userDataDir);
await browserType.launchPersistentContext(userDataDir, options);
Аргументы
-
userDataDir
[string]#Путь к каталогу пользовательских данных, который хранит данные сеанса браузера, такие как куки и локальное хранилище. Более подробная информация для 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
должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.noteПри использовании 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'
. -
geolocation
[Object] (необязательно)#-
latitude
[number]Широта от -90 до 90.
-
longitude
[number]Долгота от -180 до 180.
-
accuracy
[number] (необязательно)Ненегативное значение точности. По умолчанию
0
.
-
-
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() для получения дополнительной информации. По умолчанию отсутствуют.
-
proxy
[Object] (необязательно)#-
server
[string]Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128
илиsocks5://myproxy.com:3128
. Краткая формаmyproxy.com:3128
считается HTTP прокси. -
bypass
[string] (необязательно)Необязательные домены, разделенные запятой, для обхода прокси, например
".com, chromium.org, .domain.com"
. -
username
[string] (необязательно)Необязательное имя пользователя, которое будет использоваться, если HTTP прокси требует аутентификации.
-
password
[string] (необязательно)Необязательный пароль, который будет использоваться, если HTTP прокси требует аутентификации.
Настройки сетевого прокси.
-
-
recordHar
[Object] (необязательно)#-
omitContent
[boolean] (необязательно)Необязательная настройка для управления тем, следует ли исключать содержимое запроса из HAR. По умолчанию
false
. Устарело, используйте политикуcontent
вместо. -
content
"omit" | "embed" | "attach" (необязательно)Необязательная настройка для управления управлением содержимым ресурсов. Если указано
omit
, содержимое не сохраняется. Если указаноattach
, ресурсы сохраняются как отдельные файлы или записи в ZIP-архиве. Если указаноembed
, содержимое сохраняется встроенным в файл HAR в соответствии со спецификацией HAR. По умолчаниюattach
для файлов вывода.zip
иembed
для всех других расширений файлов. -
path
[string]Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip
, по умолчанию используетсяcontent: 'attach'
. -
mode
"full" | "minimal" (необязательно)При установке в
minimal
записывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницу, куки, безопасность и другие типы информации 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] (необязательно)-
width
[number]Ширина видеофрейма.
-
height
[number]Высота видеофрейма.
Необязательные размеры записываемых видео. Если не указано, размер будет равен
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] (необязательно)#-
width
[number]ширина страницы в пикселях.
-
height
[number]высота страницы в пикселях.
Эмулирует постоянный размер экрана окна, доступный внутри веб-страницы через
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 вместо.
-
width
[number]Ширина видеофрейма.
-
height
[number]Высота видеофрейма.
-
-
videosPath
[string] (необязательно)#УстарелоИспользуйте recordVideo вместо.
-
viewport
[null] | [Object] (необязательно)#-
width
[number]ширина страницы в пикселях.
-
height
[number]высота страницы в пикселях.
Эмулирует постоянный viewport для каждой страницы. По умолчанию 1280x720. Используйте
null
, чтобы отключить эмуляцию постоянного viewport.noteЗначение
null
отказывается от предустановленных значений по умолчанию, делает viewport зависимым от размера окна хоста, определяемого операционной системой. Это делает выполнение тестов недетерминированным. -
-
Возвращает
- [Promise]<[BrowserContext]>#
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.
-
port
[number] (необязательно)#Порт, который будет использоваться для веб-сокета. По умолчанию 0, что выбирает любой доступный порт.
-
proxy
[Object] (необязательно)#-
server
[string]Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128
илиsocks5://myproxy.com:3128
. Краткая формаmyproxy.com:3128
считается HTTP прокси. -
bypass
[string] (необязательно)Необязательные домены, разделенные запятой, для обхода прокси, например
".com, chromium.org, .domain.com"
. -
username
[string] (необязательно)Необязательное имя пользователя, которое будет использоваться, если HTTP прокси требует аутентификации.
-
password
[string] (необязательно)Необязательный пароль, который будет использоваться, если HTTP прокси требует аутентификации.
Настройки сетевого прокси.
-
-
timeout
[number] (необязательно)#Максимальное время в миллисекундах для ожидания запуска экземпляра браузера. По умолчанию
30000
(30 секунд). Установите0
, чтобы отключить таймаут. -
tracesDir
[string] (необязательно)#Если указано, трассировки сохраняются в этот каталог.
-
wsPath
[string] (необязательно) Добавлено в: v1.15#Путь, по которому будет обслуживаться сервер браузера. Для безопасности по умолчанию используется непредсказуемая строка.
warningЛюбой процесс или веб-страница (включая те, которые работают в Playwright), знающие о
wsPath
, могут взять под контроль пользователя ОС. По этой причине вы должны использовать непредсказуемый токен при использовании этой опции.
-
Возвращает
- [Promise]<[BrowserServer]>#
name
Добавлено до v1.9Возвращает имя браузера. Например: 'chromium'
, `'webkit