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

Browser

Браузер создается с помощью browser_type.launch(). Пример использования Browser для создания Page:

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
firefox = playwright.firefox
browser = firefox.launch()
page = browser.new_page()
page.goto("https://example.com")
browser.close()

with sync_playwright() as playwright:
run(playwright)

Методы

close

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

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

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

примечание

Это похоже на принудительное завершение работы браузера. Чтобы закрыть страницы корректно и убедиться, что вы получаете события закрытия страниц, вызовите browser_context.close() для всех экземпляров BrowserContext, которые вы явно создали ранее с помощью browser.new_context() перед вызовом browser.close().

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

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

browser.close()
browser.close(**kwargs)

Аргументы

  • reason str (необязательно) Добавлено в: v1.40#

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

Возвращает


new_browser_cdp_session

Добавлено в: v1.11 browser.new_browser_cdp_session
примечание

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

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

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

browser.new_browser_cdp_session()

Возвращает


new_context

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

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

примечание

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

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

browser = playwright.firefox.launch() # или "chromium" или "webkit".
# создайте новый инкогнито контекст браузера.
context = browser.new_context()
# создайте новую страницу в чистом контексте.
page = context.new_page()
page.goto("https://example.com")

# корректно закройте все
context.close()
browser.close()

Аргументы

  • accept_downloads bool (опционально)#

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

  • base_url str (опционально)#

    При использовании page.goto(), page.route(), page.wait_for_url(), page.expect_request() или page.expect_response() учитывается базовый 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
  • bypass_csp bool (опционально)#

    Переключает обход политики безопасности контента страницы. По умолчанию false.

  • client_certificates List[Dict] (опционально) Добавлено в: 1.46#

    • origin str

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

    • certPath Union[str, pathlib.Path] (опционально)

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

    • cert bytes (опционально)

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

    • keyPath Union[str, pathlib.Path] (опционально)

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

    • key bytes (опционально)

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

    • pfxPath Union[str, pathlib.Path] (опционально)

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

    • pfx bytes (опционально)

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

    • passphrase str (опционально)

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

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

    Детали

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

    Аутентификация клиентского сертификата активна только когда предоставлен как минимум один клиентский сертификат. Если вы хотите отклонить все клиентские сертификаты, отправляемые сервером, вам нужно предоставить клиентский сертификат с origin, который не соответствует ни одному из доменов, которые вы планируете посетить.

    примечание

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

  • color_scheme "light" | "dark" | "no-preference" | "null" (опционально)#

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

  • contrast "no-preference" | "more" | "null" (опционально)#

    Эмулирует медиа-функцию 'prefers-contrast', поддерживаемые значения: 'no-preference', 'more'. См. page.emulate_media() для получения более подробной информации. Передача 'null' сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию 'no-preference'.

  • device_scale_factor float (опционально)#

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

  • extra_http_headers Dict[str, str] (опционально)#

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

  • forced_colors "active" | "none" | "null" (опционально)#

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

  • geolocation Dict (опционально)#

    • latitude float

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

    • longitude float

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

    • accuracy float (опционально)

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

  • has_touch bool (опционально)#

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

  • http_credentials Dict (опционально)#

    • username str

    • password str

    • origin str (опционально)

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

    • send "unauthorized" | "always" (опционально)

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

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

  • ignore_https_errors bool (опционально)#

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

  • is_mobile bool (опционально)#

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

  • java_script_enabled bool (опционально)#

    Включать ли JavaScript в контексте. По умолчанию true. Узнайте больше о отключении JavaScript.

  • locale str (опционально)#

    Укажите локаль пользователя, например en-GB, de-DE и т. д. Локаль повлияет на значение navigator.language, значение заголовка запроса Accept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Узнайте больше о эмуляции в нашем руководстве по эмуляции.

  • no_viewport bool (опционально)#

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

  • offline bool (опционально)#

    Эмулировать ли отключение сети. По умолчанию false. Узнайте больше о эмуляции сети.

  • permissions List[str] (опционально)#

    Список разрешений, которые нужно предоставить всем страницам в этом контексте. См. browser_context.grant_permissions() для получения более подробной информации. По умолчанию нет.

  • proxy Dict (опционально)#

    • server str

      Прокси для использования для всех запросов. Поддерживаются HTTP и SOCKS прокси, например http://myproxy.com:3128 или socks5://myproxy.com:3128. Краткая форма myproxy.com:3128 считается HTTP прокси.

    • bypass str (опционально)

      Необязательные домены, разделенные запятыми, для обхода прокси, например ".com, chromium.org, .domain.com".

    • username str (опционально)

      Необязательное имя пользователя для использования, если HTTP прокси требует аутентификации.

    • password str (опционально)

      Необязательный пароль для использования, если HTTP прокси требует аутентификации.

    Настройки сетевого прокси для использования с этим контекстом. По умолчанию нет.

  • record_har_content "omit" | "embed" | "attach" (опционально)#

    Необязательная настройка для управления содержимым ресурсов. Если указано omit, содержимое не сохраняется. Если указано attach, ресурсы сохраняются как отдельные файлы, и все эти файлы архивируются вместе с файлом HAR. По умолчанию embed, который сохраняет содержимое встраиваемым в файл HAR в соответствии со спецификацией HAR.

  • record_har_mode "full" | "minimal" (опционально)#

    При установке в minimal записывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницу, cookies, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчанию full.

  • record_har_omit_content bool (опционально)#

    Необязательная настройка для управления тем, следует ли исключать содержимое запроса из HAR. По умолчанию false.

  • record_har_path Union[str, pathlib.Path] (опционально)#

    Включает запись HAR для всех страниц в указанный файл HAR в файловой системе. Если не указано, HAR не записывается. Убедитесь, что вызвали browser_context.close(), чтобы HAR был сохранен.

  • record_har_url_filter str | Pattern (опционально)#

  • record_video_dir Union[str, pathlib.Path] (опционально)#

    Включает запись видео для всех страниц в указанную директорию. Если не указано, видео не записываются. Убедитесь, что вызвали browser_context.close(), чтобы видео были сохранены.

  • record_video_size Dict (опционально)#

    • width int

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

    • height int

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

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

  • reduced_motion "reduce" | "no-preference" | "null" (опционально)#

    Эмулирует медиа-функцию 'prefers-reduced-motion', поддерживаемые значения: 'reduce', 'no-preference'. См. page.emulate_media() для получения более подробной информации. Передача 'null' сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию 'no-preference'.

  • screen Dict (опционально)#

    • width int

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

    • height int

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

    Эмулирует постоянный размер окна экрана, доступный внутри веб-страницы через window.screen. Используется только при установке viewport.

  • service_workers "allow" | "block" (опционально)#

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

    • 'allow': Сервис-воркеры могут быть зарегистрированы.
    • 'block': Playwright будет блокировать всю регистрацию сервис-воркеров.
  • storage_state Union[str, pathlib.Path] | Dict (опционально)#

    • cookies List[Dict]

      • name str

      • value str

      • domain str

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

      • path str

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

      • expires float

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

      • httpOnly bool

      • secure bool

      • sameSite "Strict" | "Lax" | "None"

        флаг sameSite

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

    • origins List[Dict]

      • origin str

      • localStorage List[Dict]

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

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

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

  • strict_selectors bool (опционально)#

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

  • timezone_id str (опционально)#

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

  • user_agent str (опционально)#

    Специфический user agent для использования в этом контексте.

  • viewport NoneType | Dict (опционально)#

    • width int

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

    • height int

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

    Устанавливает постоянную видовую область для каждой страницы. По умолчанию используется видовая область 1280x720. no_viewport отключает фиксированную видовую область. Узнайте больше о эмуляции видовой области.

Возвращает


new_page

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

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

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

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

browser.new_page()
browser.new_page(**kwargs)

Аргументы

  • accept_downloads bool (опционально)#

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

  • base_url str (опционально)#

    При использовании page.goto(), page.route(), page.wait_for_url(), page.expect_request() или page.expect_response() учитывается базовый 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
  • bypass_csp bool (опционально)#

    Переключает обход политики безопасности контента страницы. По умолчанию false.

  • client_certificates List[Dict] (опционально) Добавлено в: 1.46#

    • origin str

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

    • certPath Union[str, pathlib.Path] (опционально)

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

    • cert bytes (опционально)

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

    • keyPath Union[str, pathlib.Path] (опционально)

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

    • key bytes (опционально)

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

    • pfxPath Union[str, pathlib.Path] (опционально)

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

    • pfx bytes (опционально)

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

    • passphrase str (опционально)

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

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

    Детали

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

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

    примечание

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

  • color_scheme "light" | "dark" | "no-preference" | "null" (опционально)#

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

  • contrast "no-preference" | "more" | "null" (опционально)#

    Эмулирует медиа-функцию 'prefers-contrast', поддерживаемые значения: 'no-preference', 'more'. Подробнее см. page.emulate_media(). Передача 'null' сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию 'no-preference'.

  • device_scale_factor float (опционально)#

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

  • extra_http_headers Dict[str, str] (опционально)#

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

  • forced_colors "active" | "none" | "null" (опционально)#

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

  • geolocation Dict (опционально)#

    • latitude float

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

    • longitude float

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

    • accuracy float (опционально)

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

  • has_touch bool (опционально)#

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

  • http_credentials Dict (опционально)#

    • username str

    • password str

    • origin str (опционально)

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

    • send "unauthorized" | "always" (опционально)

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

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

  • ignore_https_errors bool (опционально)#

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

  • is_mobile bool (опционально)#

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

  • java_script_enabled bool (опционально)#

    Включать ли JavaScript в контексте. По умолчанию true. Узнайте больше о отключении JavaScript.

  • locale str (опционально)#

    Укажите локаль пользователя, например en-GB, de-DE и т.д. Локаль повлияет на значение navigator.language, значение заголовка запроса Accept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Узнайте больше о эмуляции в нашем руководстве по эмуляции.

  • no_viewport bool (опционально)#

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

  • offline bool (опционально)#

    Эмулировать ли отключение сети. По умолчанию false. Узнайте больше о эмуляции сети.

  • permissions List[str] (опционально)#

    Список разрешений, которые будут предоставлены всем страницам в этом контексте. Подробнее см. browser_context.grant_permissions(). По умолчанию отсутствуют.

  • proxy Dict (опционально)#

    • server str

      Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например http://myproxy.com:3128 или socks5://myproxy.com:3128. Краткая форма myproxy.com:3128 считается HTTP прокси.

    • bypass str (опционально)

      Опциональные домены, разделенные запятыми, для обхода прокси, например ".com, chromium.org, .domain.com".

    • username str (опционально)

      Опциональное имя пользователя для использования, если HTTP прокси требует аутентификации.

    • password str (опционально)

      Опциональный пароль для использования, если HTTP прокси требует аутентификации.

    Настройки сетевого прокси для использования с этим контекстом. По умолчанию отсутствуют.

  • record_har_content "omit" | "embed" | "attach" (опционально)#

    Опциональная настройка для управления содержимым ресурсов. Если указано omit, содержимое не сохраняется. Если указано attach, ресурсы сохраняются как отдельные файлы, и все эти файлы архивируются вместе с HAR файлом. По умолчанию embed, что сохраняет содержимое в HAR файле в соответствии со спецификацией HAR.

  • record_har_mode "full" | "minimal" (опционально)#

    При установке в minimal, записывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницу, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчанию full.

  • record_har_omit_content bool (опционально)#

    Опциональная настройка для управления тем, следует ли исключать содержимое запроса из HAR. По умолчанию false.

  • record_har_path Union[str, pathlib.Path] (опционально)#

    Включает запись HAR для всех страниц в указанный HAR файл на файловой системе. Если не указано, HAR не записывается. Убедитесь, что вызов browser_context.close() для сохранения HAR.

  • record_har_url_filter str | Pattern (опционально)#

  • record_video_dir Union[str, pathlib.Path] (опционально)#

    Включает запись видео для всех страниц в указанную директорию. Если не указано, видео не записываются. Убедитесь, что вызов browser_context.close() для сохранения видео.

  • record_video_size Dict (опционально)#

    • width int

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

    • height int

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

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

  • reduced_motion "reduce" | "no-preference" | "null" (опционально)#

    Эмулирует медиа-функцию 'prefers-reduced-motion', поддерживаемые значения: 'reduce', 'no-preference'. Подробнее см. page.emulate_media(). Передача 'null' сбрасывает эмуляцию на системные настройки по умолчанию. По умолчанию 'no-preference'.

  • screen Dict (опционально)#

    • width int

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

    • height int

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

    Эмулирует постоянный размер экрана окна, доступный внутри веб-страницы через window.screen. Используется только при установке viewport.

  • service_workers "allow" | "block" (опционально)#

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

    • 'allow': Сервис-воркеры могут быть зарегистрированы.
    • 'block': Playwright будет блокировать всю регистрацию сервис-воркеров.
  • storage_state Union[str, pathlib.Path] | Dict (опционально)#

    • cookies List[Dict]

      • name str

      • value str

      • domain str

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

      • path str

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

      • expires float

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

      • httpOnly bool

      • secure bool

      • sameSite "Strict" | "Lax" | "None"

        флаг sameSite

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

    • origins List[Dict]

      • origin str

      • localStorage List[Dict]

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

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

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

  • strict_selectors bool (опционально)#

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

  • timezone_id str (опционально)#

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

  • user_agent str (опционально)#

    Специфический пользовательский агент для использования в этом контексте.

  • viewport NoneType | Dict (опционально)#

    • width int

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

    • height int

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

    Устанавливает постоянную видовую область для каждой страницы. По умолчанию используется видовая область 1280x720. no_viewport отключает фиксированную видовую область. Узнайте больше о эмуляции видовой области.

Возвращает


start_tracing

Добавлено в: v1.11 browser.start_tracing
примечание

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

Вы можете использовать browser.start_tracing() и browser.stop_tracing(), чтобы создать файл трассировки, который можно открыть в панели производительности Chrome DevTools.

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

browser.start_tracing(page, path="trace.json")
page.goto("https://www.google.com")
browser.stop_tracing()

Аргументы

  • page Page (опционально)#

    Опционально, если указано, трассировка включает скриншоты данной страницы.

  • categories List[str] (опционально)#

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

  • path Union[str, pathlib.Path] (опционально)#

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

  • screenshots bool (опционально)#

    захватывает скриншоты в трассировке.

Возвращает


stop_tracing

Добавлено в: v1.11 browser.stop_tracing
примечание

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

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

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

browser.stop_tracing()

Возвращает


Свойства

browser_type

Добавлено в: v1.23 browser.browser_type

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

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

browser.browser_type

Возвращает


contexts

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

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

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

browser = pw.webkit.launch()
print(len(browser.contexts)) # выводит `0`
context = browser.new_context()
print(len(browser.contexts)) # выводит `1`

Возвращает


is_connected

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

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

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

browser.is_connected()

Возвращает


version

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

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

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

browser.version

Возвращает


События

on("disconnected")

Добавлено до версии v1.9 browser.on("disconnected")

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

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

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

browser.on("disconnected", handler)

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