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

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 browserType.connect

Этот метод подключает 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#

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

      Доступные правила:

      1. Шаблон имени хоста, например: example.com, *.org:99, x.*.y.com, *foo.org.
      2. Литерал IP, например: 127.0.0.1, 0.0.0.0:99, [::1], [0:0::1]:99.
      3. <loopback>, который соответствует локальным интерфейсам обратной связи: localhost, *.localhost, 127.0.0.1, [::1].

      Некоторые распространенные примеры:

      1. "*" для открытия всей сети.
      2. "<loopback>" для открытия сети localhost.
      3. "*.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 browserType.connectOverCDP

Этот метод подключает 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 browserType.executablePath

Путь, по которому Playwright ожидает найти исполняемый файл браузера.

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

browserType.executablePath();

Возвращает


launch

Добавлено до v1.9 browserType.launch

Возвращает экземпляр браузера.

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

Вы можете использовать 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 (необязательно)#

      Если указано, трассировки сохраняются в этот каталог.

Возвращает


launchPersistentContext

Добавлено до v1.9 browserType.launchPersistentContext

Возвращает экземпляр постоянного контекста браузера.

Запускает браузер, который использует постоянное хранилище, расположенное в 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
    • 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'.

    • 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.

      примечание

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

Возвращает


launchServer

Добавлено до v1.9 browserType.launchServer

Возвращает экземпляр приложения браузера. Вы можете подключиться к нему через 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, могут взять под контроль пользователя ОС. По этой причине вы должны использовать непредсказуемый токен при использовании этой опции.

Возвращает


name

Добавлено до v1.9 browserType.name

Возвращает имя браузера. Например: 'chromium', 'webkit' или 'firefox'.

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

browserType.name();

Возвращает