Spec-Zone.ru › Playwright

BrowserType

BrowserType предоставляет методы для запуска определённого экземпляра браузера или подключения к уже запущенному. Ниже приведён типичный пример использования Playwright для автоматизации:

const { chromium } = require('playwright');  // Or 'firefox' or 'webkit'.

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  // other actions...
  await browser.close();
})();

Методы​

connect​

Добавлено до версии v1.9

Этот метод подключает Playwright к существующему экземпляру браузера, созданному с помощью BrowserType.launchServer в Node.js.

примечание

Основная и дополнительная версии подключающегося экземпляра Playwright должны совпадать с версией Playwright, которая запускает браузер (1.2.3 → совместима с 1.2.x).

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

await browserType.connect(endpoint);
await browserType.connect(endpoint, options);

Аргументы

  • endpoint string

    Адрес конечной точки веб-сокета браузера Playwright для подключения. Этот адрес можно получить с помощью BrowserServer.wsEndpoint.

  • options Object (необязательно)

    • exposeNetwork string (необязательно)

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

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

      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>, соответствующий локальным интерфейсам loopback: localhost, *.localhost, 127.0.0.1, [::1].

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

      1. "*", чтобы предоставить доступ ко всей сети.
      2. "<loopback>", чтобы предоставить доступ к локальной сети.
      3. "*.test.internal-domain,*.staging.internal-domain,<loopback>", чтобы предоставить доступ к тестовым и промежуточным средам, а также к локальной сети.
    • headers Object<string, string> (необязательно)

      Дополнительные HTTP-заголовки, отправляемые в запросе на подключение через веб-сокет. Необязательно.

    • slowMo number (необязательно)

      Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы наблюдать за происходящим. По умолчанию — 0.

    • timeout number (необязательно)

      Максимальное время ожидания установления соединения в миллисекундах. По умолчанию — 0 (без ограничения времени).

Возвращает

  • Promise<Browser>

connectOverCDP​

Этот метод подключает Playwright к существующему экземпляру браузера с помощью протокола Chrome DevTools.

Контекст браузера по умолчанию доступен через browser.contexts().

примечание

Подключение через протокол Chrome DevTools поддерживается только в браузерах на основе Chromium.

примечание

Это соединение значительно уступает по возможностям соединению через протокол Playwright, устанавливаемому с помощью browserType.connect(). Если у вас возникли проблемы или вы хотите использовать расширенные функции, вероятно, следует использовать browserType.connect().

предупреждение

Playwright поддерживает тщательно подобранный список аргументов для запуска браузера. Если запустить браузер без Playwright и не передать в точности те же аргументы, некоторые функции Playwright могут работать некорректно после подключения к браузеру.

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

const browser = await playwright.chromium.connectOverCDP('http://localhost:9222');
const defaultContext = browser.contexts()[0];
const page = defaultContext.pages()[0];

Аргументы

  • endpointURL string

    Адрес конечной точки веб-сокета CDP или URL-адрес HTTP для подключения. Например, http://localhost:9222/ или ws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4.

  • options Object (необязательно)

    • artifactsDir string (необязательно)

      Если указан, артефакты браузера (например, трассировки и загрузки) сохраняются в этом каталоге.

    • endpointURL string (необязательно)

      Устарело

      Вместо этого используйте первый аргумент.

    • headers Object<string, string> (необязательно)

      Дополнительные HTTP-заголовки, отправляемые в запросе на подключение. Необязательно.

    • isLocal boolean (необязательно)

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

    • noDefaults boolean (необязательно)

      Если значение равно true, Playwright не применяет переопределения по умолчанию к существующему контексту браузера по умолчанию. В частности, для acceptDownloads сохраняется настройка браузера, эмуляция фокуса не включается, а параметры эмуляции медиа (например, colorScheme, reducedMotion, forcedColors и contrast) не применяются. Полезно при подключении к браузеру, которым пользователь пользуется каждый день, если такие переопределения могут нарушить его текущее состояние. Это не влияет на новые контексты, созданные с помощью browser.newContext(). По умолчанию — false.

    • slowMo number (необязательно)

      Замедляет операции Playwright на указанное количество миллисекунд. Полезно, чтобы наблюдать за происходящим. По умолчанию — 0.

    • timeout number (необязательно)

      Максимальное время ожидания установления соединения в миллисекундах. По умолчанию — 30000 (30 секунд). Передайте 0, чтобы отключить ограничение времени.

Возвращает

  • Promise<Browser>

executablePath​

Добавлено до версии v1.9

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

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

browserType.executablePath();

Возвращает

  • string

launch​

Добавлено до версии v1.9

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

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

Можно использовать ignoreDefaultArgs, чтобы отфильтровать --mute-audio из аргументов по умолчанию:

const browser = await chromium.launch({  // Or 'firefox' or 'webkit'.
  ignoreDefaultArgs: ['--mute-audio']
});

Только Chromium. Playwright также можно использовать для управления браузерами Google Chrome и Microsoft Edge, однако лучше всего он работает с версией Chromium, которая поставляется вместе с ним. Совместимость с другими версиями не гарантируется. Используйте параметр executablePath с особой осторожностью.

Если вы предпочитаете Google Chrome (а не Chromium), рекомендуется использовать сборку Chrome Canary или Dev Channel.

Стабильные версии браузеров, таких как Google Chrome и Microsoft Edge, подходят для тестов, которым требуются проприетарные мультимедийные кодеки для воспроизведения видео. О других различиях между Chromium и Chrome см. в этой статье. В этой статье описаны некоторые различия, актуальные для пользователей Linux.

Аргументы

  • options Object (необязательно)
    • args Array<string> (необязательно)

      предупреждение

      Используйте пользовательские аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.

      Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.

    • artifactsDir string (необязательно)

      Если указан, артефакты (трассировки, видео, загрузки, файлы HAR и т. д.) сохраняются в этом каталоге. При закрытии браузера каталог не очищается. Если параметр не указан, используется временный каталог, который очищается при закрытии браузера.

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

    • downloadsPath string (необязательно)

      Если указан, принятые загрузки сохраняются в этом каталоге. В противном случае создаётся временный каталог, который удаляется при закрытии браузера. В любом случае загрузки удаляются при закрытии контекста браузера, в котором они были созданы.

    • env Object<string, string | [undefined]> (необязательно)

    • executablePath string (необязательно)

      Путь к исполняемому файлу браузера, который нужно запустить вместо поставляемого в комплекте. Если executablePath — относительный путь, он разрешается относительно текущего рабочего каталога. Учтите, что Playwright работает только с поставляемыми в комплекте Chromium, Firefox или WebKit; используйте другие браузеры на свой страх и риск.

    • firefoxUserPrefs Object<string, string | number | boolean> (необязательно)

      Пользовательские настройки Firefox. Подробнее о пользовательских настройках Firefox: about:config.

      Также можно указать путь к пользовательскому файлу policies.json с помощью переменной среды PLAYWRIGHT_FIREFOX_POLICIES_JSON.

    • handleSIGHUP boolean (необязательно)

      Закрывает процесс браузера при получении сигнала SIGHUP. По умолчанию — true.

    • handleSIGINT boolean (необязательно)

      Закрывает процесс браузера при нажатии Ctrl-C. По умолчанию — true.

    • handleSIGTERM boolean (необязательно)

      Закрывает процесс браузера при получении сигнала SIGTERM. По умолчанию — true.

    • headless boolean (необязательно)

      Определяет, запускать ли браузер в безголовом режиме. Подробнее о Chromium и Firefox. По умолчанию — 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

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

    Подробнее о Chromium и Firefox. Каталог пользовательских данных Chromium — это родительский каталог «пути к профилю», отображаемого в chrome://version.

    Обратите внимание: браузеры не позволяют запускать несколько экземпляров с одним и тем же каталогом пользовательских данных.

    предупреждение

    Chromium/Chrome: из-за недавних изменений политики Chrome автоматизация профиля пользователя Chrome по умолчанию не поддерживается. Если указать userDataDir как основной каталог Chrome «User Data» (профиль, используемый для обычного просмотра веб-страниц), страницы могут не загружаться или браузер может завершить работу. Вместо этого создайте и используйте отдельный каталог (например, пустую папку) в качестве профиля для автоматизации. Подробнее см. на странице https://developer.chrome.com/blog/remote-debugging-port.

  • options Object (необязательно)

    • acceptDownloads boolean (необязательно)

      Автоматически ли загружать все вложения. По умолчанию — true, когда принимаются все загрузки.

    • args Array<string> (необязательно)

      предупреждение

      Используйте пользовательские аргументы браузера на свой страх и риск, поскольку некоторые из них могут нарушить работу Playwright.

      Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.

    • artifactsDir string (необязательно)

      Если указано, артефакты (трассировки, видео, загрузки, файлы HAR и т. д.) сохраняются в этом каталоге. Каталог не очищается при закрытии браузера. Если каталог не указан, используется временный каталог, который очищается при закрытии браузера.

    • 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 (необязательно)

      Включает обход Content-Security-Policy страницы. По умолчанию — 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> (необязательно)

      • 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 необходимо присвоить точное соответствие источнику запроса, для которого действителен сертификат.

      Аутентификация с помощью сертификата клиента активна только в том случае, если предоставлен хотя бы один сертификат клиента. Если необходимо отклонять все сертификаты клиента, отправляемые сервером, следует предоставить сертификат клиента с параметром 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. Подробнее об эмуляции устройств с коэффициентом масштабирования.

    • downloadsPath string (необязательно)

      Если указано, принятые загрузки сохраняются в этом каталоге. В противном случае создаётся временный каталог, который удаляется при закрытии браузера. В обоих случаях загрузки удаляются при закрытии контекста браузера, в котором они были созданы.

    • env Object<string, string | [undefined]> (необязательно)

    • executablePath string (необязательно)

      Путь к исполняемому файлу браузера, который будет запущен вместо встроенного. Если executablePath — относительный путь, он разрешается относительно текущего рабочего каталога. Обратите внимание, что Playwright работает только со встроенными Chromium, Firefox или WebKit; используйте этот параметр на свой страх и риск.

    • extraHTTPHeaders Object<string, string> (необязательно)

      Объект с дополнительными HTTP-заголовками, отправляемыми с каждым запросом. По умолчанию заголовки отсутствуют.

    • firefoxUserPrefs Object<string, string | number | boolean> (необязательно)

      Пользовательские настройки Firefox. Подробнее о пользовательских настройках Firefox см. в разделе about:config.

      Вы также можете указать путь к пользовательскому файлу policies.json с помощью переменной окружения PLAYWRIGHT_FIREFOX_POLICIES_JSON.

    • 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 (необязательно)

      Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее о эмуляции мобильных устройств.

    • headless boolean (необязательно)

      Запускать ли браузер в безголовом режиме. Подробнее см. в документации для Chromium и Firefox. По умолчанию — true.

    • httpCredentials Object | Array<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 записываются только сведения, необходимые для маршрутизации. Не записываются размеры, время, сведения о странице, файлах cookie, безопасности и другие данные HAR, не используемые при воспроизведении из HAR. По умолчанию — full.

      • urlFilter string | RegExp (необязательно)

        Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если в параметрах контекста указан baseURL, а переданный URL является путём, он объединяется с ним с помощью конструктора new URL(). По умолчанию не задано.

      Включает запись HAR для всех страниц в файл recordHar.path. Если файл не указан, запись HAR не ведётся. Чтобы сохранить HAR, обязательно дождитесь завершения browserContext.close().

    • recordVideo Object (необязательно)

      • dir string (необязательно)

        Путь к каталогу для сохранения видео. Если не указан, видео сохраняются в artifactsDir (см. параметры browserType.launch()).

      • size Object (необязательно)

        • width number

          Ширина кадра видео.

        • height number

          Высота кадра видео.

        Необязательные размеры записываемого видео. Если не указаны, размер будет соответствовать viewport, уменьшенному так, чтобы поместиться в область 800x800. Если viewport явно не задан, размер видео по умолчанию составляет 800x450. Изображение каждой страницы при необходимости уменьшается, чтобы соответствовать указанному размеру.

      • showActions Object (необязательно)

        • duration number (необязательно)

          Длительность отображения каждой аннотации в миллисекундах. По умолчанию — 500.

        • position "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)

          Положение наложения с названием действия. По умолчанию — "top-right".

        • fontSize number (необязательно)

          Размер шрифта названия действия в пикселях. По умолчанию — 24.

        • cursor "none" | "pointer" (необязательно)

          Оформление курсора для действий с указателем. "pointer" (значение по умолчанию) отображает указатель мыши, анимированно перемещающийся от точки предыдущего действия к точке следующего. "none" отключает оформление курсора.

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

      Включает запись видео для всех страниц в каталог 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" (необязательно)

      Разрешать ли сайтам регистрировать Service Workers. По умолчанию используется 'allow'.

      • 'allow': можно регистрировать сервис-воркеры.
      • 'block': Playwright будет блокировать регистрацию всех сервис-воркеров.
    • slowMo number (необязательно)

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

    • strictSelectors boolean (необязательно)

      Если установлено значение true, для этого контекста включается режим строгих селекторов. В режиме строгих селекторов все операции с селекторами, предполагающими один целевой элемент DOM, вызовут исключение, если селектору соответствуют несколько элементов. Этот параметр не влияет на API Locator (для Locator всегда действует строгий режим). По умолчанию используется false. Подробнее о строгом режиме см. в описании Locator.

    • timeout number (необязательно)

      Максимальное время ожидания запуска экземпляра браузера в миллисекундах. По умолчанию используется 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

    • timezoneId string (необязательно)

      Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt проекта ICU. По умолчанию используется системный часовой пояс.

    • tracesDir string (необязательно)

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

    • userAgent string (необязательно)

      Пользовательский агент, используемый в этом контексте.

    • viewport null | Object (необязательно)

      • width number

        ширина страницы в пикселях.

      • height number

        высота страницы в пикселях.

      Эмулирует согласованную область просмотра для каждой страницы. По умолчанию используется область просмотра размером 1280x720. Используйте null, чтобы отключить эмуляцию согласованной области просмотра. Подробнее см. в разделе эмуляция области просмотра.

      примечание

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

Возвращает

  • Promise<BrowserContext>

launchServer​

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

Возвращает экземпляр приложения браузера. К нему можно подключиться с помощью browserType.connect(); для этого версии клиента и сервера должны совпадать по основным и дополнительным номерам (1.2.3 → совместима с 1.2.x).

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

Запускает сервер браузера, к которому может подключиться клиент. Пример запуска исполняемого файла браузера и последующего подключения к нему:

const { chromium } = require('playwright');  // Or 'webkit' or 'firefox'.

(async () => {
  const browserServer = await chromium.launchServer();
  const wsEndpoint = browserServer.wsEndpoint();
  // Use web socket endpoint later to establish a connection.
  const browser = await chromium.connect(wsEndpoint);
  // Close browser instance.
  await browserServer.close();
})();

Аргументы

  • options Object (необязательно)
    • args Array<string> (необязательно)

      предупреждение

      Используйте пользовательские аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.

      Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.

    • artifactsDir string (необязательно)

      Если указано, артефакты (трассировки, видео, загрузки, файлы HAR и т. д.) сохраняются в эту директорию. Директория не очищается при закрытии браузера. Если параметр не указан, используется временная директория, которая очищается при закрытии браузера.

    • channel string (необязательно)

      Канал дистрибутива браузера.

      Используйте "chromium", чтобы включить новый режим headless.

      Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы использовать брендированные версии Google Chrome и Microsoft Edge.

    • chromiumSandbox boolean (необязательно)

      Включает песочницу Chromium. По умолчанию используется false.

    • downloadsPath string (необязательно)

      Если указано, принятые загрузки сохраняются в эту директорию. В противном случае создаётся временная директория, которая удаляется при закрытии браузера. В обоих случаях загрузки удаляются при закрытии контекста браузера, в котором они были созданы.

    • env Object<string, string | [undefined]> (необязательно)

    • executablePath string (необязательно)

      Путь к исполняемому файлу браузера, который нужно запустить вместо входящего в комплект. Если executablePath — относительный путь, он разрешается относительно текущей рабочей директории. Обратите внимание, что Playwright работает только с входящими в комплект Chromium, Firefox или WebKit; используйте этот параметр на свой страх и риск.

    • firefoxUserPrefs Object<string, string | number | boolean> (необязательно)

      Пользовательские настройки Firefox. Подробнее о пользовательских настройках Firefox см. на странице about:config.

      Вы также можете указать путь к пользовательскому файлу policies.json с помощью переменной окружения PLAYWRIGHT_FIREFOX_POLICIES_JSON.

    • handleSIGHUP boolean (необязательно)

      Закрывать процесс браузера при получении SIGHUP. По умолчанию используется true.

    • handleSIGINT boolean (необязательно)

      Закрывать процесс браузера при нажатии Ctrl-C. По умолчанию используется true.

    • handleSIGTERM boolean (необязательно)

      Закрывать процесс браузера при получении SIGTERM. По умолчанию используется true.

    • headless boolean (необязательно)

      Запускать ли браузер в режиме headless. Подробнее см. в документации для Chromium и Firefox. По умолчанию используется true.

    • host string (необязательно)

      Хост для веб-сокета. Параметр необязательный; по умолчанию используется localhost, который принимает подключения только через интерфейс обратной петли. Передайте явный адрес (например, 0.0.0.0), чтобы принимать подключения из сети — учтите, что это открывает доступ к RPC браузера для всех, кто может подключиться к порту прослушивания.

    • 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 (необязательно)

      Путь, по которому будет доступен сервер браузера. В целях безопасности по умолчанию используется непредсказуемая строка.

      предупреждение

      Любой процесс или веб-страница (в том числе запущенные в Playwright), которым известен wsPath, могут получить контроль над пользователем ОС. Поэтому при использовании этого параметра следует задавать непредсказуемый токен.

Возвращает

  • Promise<BrowserServer>

name​

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

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

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

browserType.name();

Возвращает

  • string

© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-browsertype

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API