Spec-Zone.ru › Playwright

Браузер

Браузер создается с помощью browserType.launch(). Пример использования браузера для создания страницы:

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

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

Методы​

browserType​

Получает тип браузера (chromium, firefox или webkit), к которому принадлежит браузер.

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

browser.browserType();

Возвращает

  • BrowserType

close​

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

В случае, если этот браузер получен с помощью browserType.launch(), закрывает браузер и все его страницы (если они были открыты).

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

примечание

Это аналогично принудительному завершению работы браузера. Поэтому необходимо вызвать browserContext.close() для любого BrowserContext, который вы явно создали ранее с помощью browser.newContext(), перед вызовом browser.close().

Сам объект Browser считается удалённым и больше не может использоваться.

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

await browser.close();
await browser.close(options);

Аргументы

  • options Объект (необязательно)
    • reason строка (необязательно)

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

Возвращает

  • Promise<void>

contexts​

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

Возвращает массив всех открытых контекстов браузера. В вновь созданном браузере это вернёт ноль контекстов браузера.

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

const browser = await pw.webkit.launch();
console.log(browser.contexts().length); // prints `0`

const context = await browser.newContext();
console.log(browser.contexts().length); // prints `1`

Возвращает

  • Массив<BrowserContext>

isConnected​

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

Указывает, что браузер подключен.

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

browser.isConnected();

Возвращает

  • логическое

newBrowserCDPSession​

примечание

Сессии CDP поддерживаются только в браузерах на основе Chromium.

Возвращает вновь созданную сессию браузера.

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

await browser.newBrowserCDPSession();

Возвращает

  • Promise<CDPSession>

newContext​

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

Создаёт новый контекст браузера. Он не будет совместно использовать куки/кеш с другими контекстами браузера.

примечание

Если вы напрямую используете этот метод для создания BrowserContext, рекомендуется явно закрыть возвращённый контекст с помощью browserContext.close(), когда ваш код закончит работу с BrowserContext, и перед вызовом browser.close(). Это обеспечит, что context будет закрыт корректно, и любые артефакты — такие как HAR и видео — будут полностью выгружены и сохранены.

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

(async () => {
  const browser = await playwright.firefox.launch();  // Or 'chromium' or 'webkit'.
  // Create a new incognito browser context.
  const context = await browser.newContext();
  // Create a new page in a pristine context.
  const page = await context.newPage();
  await page.goto('https://example.com');

  // Gracefully close up everything
  await context.close();
  await browser.close();
})();

Аргументы

  • options Объект (необязательно)
    • acceptDownloads логическое (необязательно)

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

    • baseURL строка (необязательно)

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

      Включает/выключает обход Content-Security-Policy страницы. По умолчанию false.

    • clientCertificates Массив<Объект> (необязательно)

      • origin строка

        Точный источник, для которого сертификат действителен. Источник включает https протокол, имя хоста и необязательно порт.

      • certPath строка (необязательно)

        Путь к файлу с сертификатом в формате PEM.

      • cert Буфер (необязательно)

        Прямое значение сертификата в формате PEM.

      • keyPath строка (необязательно)

        Путь к файлу с закрытым ключом в формате PEM.

      • key Буфер (необязательно)

        Прямое значение закрытого ключа в формате PEM.

      • pfxPath строка (необязательно)

        Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.

      • pfx Буфер (необязательно)

        Прямое значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.

      • passphrase строка (необязательно)

        Пароль для закрытого ключа (PEM или PFX).

      TLS-аутентификация клиента позволяет серверу запросить сертификат клиента и проверить его.

      Подробности

      Массив клиентских сертификатов для использования. Каждый объект сертификата должен иметь либо оба certPath и keyPath, либо одиночный pfxPath, или их соответствующие эквиваленты прямых значений (cert и key, или pfx). Необязательно, свойство passphrase должно быть указано, если сертификат зашифрован. Свойство origin должно быть указано с точным соответствием источнику запроса, для которого сертификат действителен.

      заметка

      При использовании WebKit на macOS доступ к localhost не позволит получить клиентские сертификаты. Вы можете это исправить, заменив localhost на local.playwright.

    • colorScheme null | "светлая" | "тёмная" | "без предпочтения" (необязательно)

      Эмулирует prefers-colors-scheme медиа-функцию, поддерживаемые значения — 'light' и 'dark'. См. page.emulateMedia() для получения дополнительных сведений. Передача null сбрасывает эмуляцию до системных значений. По умолчанию 'light'.

    • deviceScaleFactor число (необязательно)

      Указать коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию 1. Узнайте больше о эмуляции устройств с коэффициентом масштабирования устройства.

    • extraHTTPHeaders Объект<строка, строка> (необязательно)

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

    • forcedColors null | "активный" | "нет" (необязательно)

      Эмулирует 'forced-colors' медиа-функцию, поддерживаемые значения — 'active', 'none'. См. page.emulateMedia() для получения дополнительных сведений. Передача null сбрасывает эмуляцию до системных значений. По умолчанию 'none'.

    • geolocation Объект (необязательно)

      • latitude число

        Широта от -90 до 90.

      • longitude число

        Долгота от -180 до 180.

      • accuracy число (необязательно)

        Положительное значение точности. По умолчанию 0.

    • hasTouch логическое (необязательно)

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

    • httpCredentials Объект (необязательно)

      • username строка

      • password строка

      • origin строка (необязательно)

        Ограничить отправку http-аутентификационных данных для определенного источника (scheme://host:port).

      • send "неавторизован" | "всегда" (необязательно)

        Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера. 'always' - заголовок Authorization с учетными данными аутентификации Basic будет отправляться с каждым API-запросом. 'unauthorized - учетные данные отправляются только при получении ответа 401 (Неавторизован) с заголовком WWW-Authenticate. По умолчанию 'unauthorized'.

      Данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любой сервер при ответе "неавторизован".

    • ignoreHTTPSErrors логическое (необязательно)

      Игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

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

      Учитывать ли meta viewport тэг и разрешены ли сенсорные события. isMobile входит в состав device, поэтому вам не нужно устанавливать его вручную. По умолчанию 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 не записывается. Убедитесь, что дождались завершения 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" (необязательно)

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

      • 'allow': Service Workers могут быть зарегистрированы.
      • 'block': Playwright заблокирует всю регистрацию Service Workers.
    • storageState строка | объект (необязательно)

      • cookies массив<объект>
        • name строка

        • value строка

        • domain строка

          Домен и путь обязательны. Для применения куки ко всем поддоменам, добавьте перед доменом точку, например: ".example.com"

        • path строка

          Домен и путь обязательны

        • expires число

          Время Unix в секундах.

        • httpOnly логическое

        • secure логическое

        • sameSite "Строгий" | "Расслабленный" | "Отсутствует"

          флаг sameSite

        Куки для установки в контекст
      • origins массив<объект>
        • origin строка

        • localStorage массив<объект>

          • name строка

          • value строка

        localStorage для установки в контекст

      Узнайте больше о состоянии хранилища и авторизации.

      Заполняет контекст заданным состоянием хранилища. Этот параметр может использоваться для инициализации контекста информацией о вошедшем пользователе, полученной с помощью browserContext.storageState().

    • strictSelectors логическое (необязательно)

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

    • timezoneId строка (необязательно)

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

    • userAgent строка (необязательно)

      Конкретный пользовательский агент для использования в этом контексте.

    • videoSize объект (необязательно)

      Устарело

      Используйте recordVideo вместо этого.

      • width число

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

      • height число

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

    • videosPath строка (необязательно)

      Устарело

      Используйте recordVideo вместо этого.

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

      • width число

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

      • height число

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

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

      примечание

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

Возвращает

  • Promise<BrowserContext>

newPage​

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

Создает новую страницу в новом контексте браузера. Закрытие этой страницы также закроет контекст.

Этот API удобен и должен использоваться только в сценариях с одной страницей и коротких фрагментах кода. Продукционный код и фреймворки для тестирования должны явно создавать browser.newContext(), а затем browserContext.newPage(), чтобы управлять точными сроками жизни.

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

await browser.newPage();
await browser.newPage(options);

Аргументы

  • options Объект (необязательно)
    • acceptDownloads boolean (необязательно)

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

    • baseURL строка (необязательно)

      При использовании 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.

    • clientCertificates Массив<Объект> (необязательно)

      • origin строка

        Точный источник, для которого сертификат действителен. Источник включает https протокол, имя хоста и необязательно порт.

      • certPath строка (необязательно)

        Путь к файлу с сертификатом в формате PEM.

      • cert Буфер (необязательно)

        Прямое значение сертификата в формате PEM.

      • keyPath строка (необязательно)

        Путь к файлу с закрытым ключом в формате PEM.

      • key Буфер (необязательно)

        Прямое значение закрытого ключа в формате PEM.

      • pfxPath строка (необязательно)

        Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.

      • pfx Буфер (необязательно)

        Прямое значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.

      • passphrase строка (необязательно)

        Пароль для закрытого ключа (PEM или PFX).

      TLS-аутентификация клиента позволяет серверу запросить сертификат клиента и проверить его.

      Подробности

      Массив используемых сертификатов клиента. Каждый объект сертификата должен содержать либо и certPath и keyPath, либо одиночный pfxPath, или их соответствующие эквиваленты прямых значений (cert и key, или pfx). Дополнительно, свойство passphrase должно быть предоставлено, если сертификат зашифрован. Свойство origin должно быть предоставлено с точным соответствием источнику запроса, для которого сертификат действителен.

      заметка

      При использовании WebKit на macOS доступ к localhost не будет выбирать сертификаты клиента. Вы можете заставить это работать, заменив localhost на local.playwright.

    • colorScheme null | "светлый" | "темный" | "без предпочтений" (необязательно)

      Эмулирует средство массовой информации prefers-colors-scheme, поддерживаемые значения — 'light' и 'dark'. Подробнее см. page.emulateMedia(). Передача null сбрасывает эмуляцию до системных значений. По умолчанию 'light'.

    • deviceScaleFactor число (необязательно)

      Укажите коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию 1. Дополнительные сведения об эмуляции устройств с коэффициентом масштабирования устройства.

    • extraHTTPHeaders Объект<строка, строка> (необязательно)

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

    • forcedColors null | "активный" | "нет" (необязательно)

      Эмулирует 'forced-colors' средство массовой информации, поддерживаемые значения — 'active', 'none'. Подробнее см. page.emulateMedia(). Передача null сбрасывает эмуляцию до системных значений. По умолчанию 'none'.

    • geolocation Объект (необязательно)

      • latitude число

        Широта между -90 и 90.

      • longitude число

        Долгота между -180 и 180.

      • accuracy число (необязательно)

        Неотрицательное значение точности. По умолчанию 0.

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

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

    • httpCredentials Объект (необязательно)

      • username строка

      • password строка

      • origin строка (необязательно)

        Ограничить отправку http-креденциалов для определенного источника (scheme://host:port).

      • send "неавторизованный" | "всегда" (необязательно)

        Этот параметр применим только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера. 'always' - Authorization заголовок с базовыми аутентификационными данными будет отправлен с каждым API-запросом. 'unauthorized - учетные данные отправляются только при получении ответа 401 (Неавторизованный) с WWW-Authenticate заголовком. По умолчанию 'unauthorized'.

      Учетные данные для аутентификации HTTP. Если источник не указан, имя пользователя и пароль отправляются на любые серверы при ответах «неавторизованно».

    • 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 не производится. Убедитесь, что ожидаете 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 заблокирует любую регистрацию сервисных рабочих процессов.
    • storageState строка | объект (необязательно)

      • cookies массив<объект>
        • name строка

        • value строка

        • domain строка

          Домен и путь обязательны. Чтобы куки применялись ко всем поддоменам, добавьте точку перед доменом, например: ".example.com"

        • path строка

          Домен и путь обязательны

        • expires число

          Время в Unix-формате, секунды.

        • httpOnly логическое

        • secure логическое

        • sameSite "Жесткий" | "Расслабленный" | "Отсутствует"

          Флаг sameSite

        Куки для контекста
      • origins массив<объект>
        • origin строка

        • localStorage массив<объект>

          • name строка

          • value строка

        localStorage для контекста

      Дополнительную информацию о состоянии хранилища и аутентификации см. здесь.

      Заполняет контекст заданным состоянием хранилища. Этот параметр можно использовать для инициализации контекста данными вошедшего пользователя, полученными с помощью browserContext.storageState().

    • strictSelectors логическое (необязательно)

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

    • timezoneId строка (необязательно)

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

    • userAgent строка (необязательно)

      Конкретный пользовательский агент для использования в данном контексте.

    • videoSize объект (необязательно)

      Устарело

      Используйте recordVideo вместо этого.

      • width число

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

      • height число

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

    • videosPath строка (необязательно)

      Устарело

      Используйте recordVideo вместо этого.

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

      • width число

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

      • height число

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

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

      примечание

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

Возвращает

  • Promise<Страница>

removeAllListeners​

Удаляет все слушатели указанного типа (или все зарегистрированные слушатели, если тип не задан). Позволяет дождаться завершения асинхронных слушателей или игнорировать последующие ошибки от этих слушателей.

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

await browser.removeAllListeners();
await browser.removeAllListeners(type, options);

Аргументы

  • type строка (необязательно)
  • options объект (необязательно)
    • behavior "ожидание" | "игнорировать ошибки" | "по умолчанию" (необязательно)

      Указывает, нужно ли ожидать выполнения уже запущенных слушателей и что делать, если они выбросят ошибки:

      • 'default' - не ждать завершения текущих вызовов слушателей (если таковые имеются), при возникновении ошибки слушателем может произойти непредвиденная ошибка
      • 'wait' - подождать завершения текущих вызовов слушателей (если таковые имеются)
      • 'ignoreErrors' - не ждать завершения текущих вызовов слушателей (если таковые имеются), все ошибки, сгенерированные слушателями после удаления, будут молча перехвачены

Возвращает

  • Promise<void>

startTracing​

примечание

Этот API управляет отладкой Chromium Tracing, которая является низкоуровневым инструментом отладки, специфичным для Chromium. API для управления Playwright Tracing можно найти здесь.

Можно использовать browser.startTracing() и browser.stopTracing() для создания файла трассировки, который можно открыть в панели производительности Chrome DevTools.

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

await browser.startTracing(page, { path: 'trace.json' });
await page.goto('https://www.google.com');
await browser.stopTracing();

Аргументы

  • page Страница (необязательно)

    Необязательно. Если указано, трассировка включает скриншоты заданной страницы.

  • options Объект (необязательно)

    • categories Массив<строка> (необязательно)

      указать пользовательские категории вместо стандартных.

    • path строка (необязательно)

      Путь для записи файла трассировки.

    • screenshots булево (необязательно)

      включает скриншоты в трассировку.

Возвращает

  • Promise<void>

stopTracing​

примечание

Этот API управляет Chromium Tracing, который является низкоуровневым инструментом отладки, специфичным для Chromium. API для управления Playwright Tracing можно найти здесь.

Возвращает буфер с данными трассировки.

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

await browser.stopTracing();

Возвращает

  • Promise<Буфер>

version​

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

Возвращает версию браузера.

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

browser.version();

Возвращает

  • строка

События​

on('disconnected')​

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

Вызывается, когда браузер отключается от приложения браузера. Это может произойти по одной из следующих причин:

  • Приложение браузера закрыто или аварийно завершено.
  • Вызван метод browser.close().

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

browser.on('disconnected', data => {});

Данные события

  • Браузер

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

Spec-Zone.ru

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