Spec-Zone.ru › Playwright

Electron

Playwright имеет экспериментальную поддержку автоматизации Electron. Вы можете получить доступ к пространству имен electron через:

const { _electron } = require('playwright');

Пример скрипта автоматизации Electron:

const { _electron: electron } = require('playwright');

(async () => {
  // Launch Electron app.
  const electronApp = await electron.launch({ args: ['main.js'] });

  // Evaluation expression in the Electron context.
  const appPath = await electronApp.evaluate(async ({ app }) => {
    // This runs in the main Electron process, parameter here is always
    // the result of the require('electron') in the main app script.
    return app.getAppPath();
  });
  console.log(appPath);

  // Get the first window that the app opens, wait if necessary.
  const window = await electronApp.firstWindow();
  // Print the title.
  console.log(await window.title());
  // Capture a screenshot.
  await window.screenshot({ path: 'intro.png' });
  // Direct Electron console to Node terminal.
  window.on('console', console.log);
  // Click button.
  await window.click('text=Click me');
  // Exit app.
  await electronApp.close();
})();

Поддерживаемые версии Electron:

  • v12.2.0+
  • v13.4.0+
  • v14+

Известные проблемы:

Если вы не можете запустить Electron и он завершается тайм-аутами во время запуска, попробуйте следующее:

  • Убедитесь, что nodeCliInspect (FuseV1Options.EnableNodeCliInspectArguments) плагин не установлен в значение false.

Методы​

launch​

Запускает приложение electron, указанное с помощью executablePath.

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

await electron.launch();
await electron.launch(options);

Аргументы

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

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

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

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

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

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

    • colorScheme null | "light" | "dark" | "no-preference" (необязательно)

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

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

      Текущая рабочая директория для запуска приложения.

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

      Указывает переменные среды, видимые для Electron. По умолчанию process.env.

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

      Запускает заданное приложение Electron. Если не указано, запускается по умолчанию исполняемый файл Electron, установленный в этом пакете, расположенный по адресу node_modules/.bin/electron.

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

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

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

      • latitude число

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

      • longitude число

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

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

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

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

      • username строка

      • password строка

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

        Ограничение отправки http-креденциалов на определённый источник (схема://хост:порт).

      • send "unauthorized" | "always" (необязательно)

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

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

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

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

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

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

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

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

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

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

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

      • content "omit" | "embed" | "attach" (необязательно)

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

      • path строка

        Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на .zip, по умолчанию используется content: 'attach'.

      • mode "full" | "minimal" (необязательно)

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

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

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

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

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

      • dir строка

        Путь к каталогу для сохранения видео.

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

        • width число

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

        • height число

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

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

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

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

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

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

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

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

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

Возвращает

  • Обещание<ElectronApplication>

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

Spec-Zone.ru

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