Skip to content

Браузер ​

Официальный плагин Браузер запускает Chromium без окна через Playwright. Вы пишете на Python шаг Веб-страница, который открывает страницы, переходит по ним и возвращает строки, как любой другой шаг. Если шаг завершился ошибкой, плагин сохраняет скриншот и HTML страницы как артефакты запуска.

Подготовка плагина ​

Python и браузер на Mac не нужны. В пакете плагина есть uv, который скачивает Python 3.12, Playwright и Chromium headless shell в папку плагина.

  1. Установите Браузер в Настройки > Плагины. Подробнее в разделе Работа с плагинами.
  2. Подтвердите разрешения: Доступ к сети, Скачивание компонентов и Запуск программ.
  3. Дождитесь, пока пройдут этапы Установка компонентов и Подготовка к работе. Для этих загрузок Mac должен быть подключён к интернету.

Если загрузка не удалась, на странице плагина появятся текст ошибки и кнопка Подготовить, чтобы повторить попытку. На странице плагина строка Скачанные компоненты показывает, сколько места занимают среда выполнения и браузер, а кнопка Переустановить скачивает их заново.

Как написать шаг ​

  1. В редакторе задачи добавьте шаг и выберите тип Веб-страница.
  2. Измените стартовый код. Он открывает страницу и возвращает по строке на каждую ссылку.
  3. Запустите шаг и проверьте строки в результате.

Код определяет одну корутину async def run(ctx) и возвращает список плоских словарей. Каждый словарь становится строкой. Можно вернуть и один словарь или None.

python
async def run(ctx):
    page = await ctx.new_page()
    await page.goto("https://example.com")
    rows = []
    for position, link in enumerate(await page.locator("a").all(), start=1):
        rows.append({
            "position": position,
            "text": (await link.inner_text()).strip(),
            "href": await link.get_attribute("href"),
        })
    return rows

Доступны только стандартная библиотека Python и Playwright.

Код шага не является шаблоном: ${...} остаётся как есть. Переменные задачи читайте из ctx.variables и храните адреса и учётные данные там, а не в коде.

Что даёт ctx ​

ЧленЧто делает
await ctx.new_page()Открывает новую вкладку
ctx.variablesПеременные задачи
ctx.inputsРезультаты предыдущих шагов запуска
ctx.settingsНастройки плагина для этого шага
await ctx.pause()Ждёт время из настройки Пауза плюс-минус Разброс паузы
await ctx.map(items, worker)Вызывает async def worker(page, item) для каждого элемента в новой вкладке, открывая одновременно столько вкладок, сколько задано в Параллельные страницы, и возвращает результаты в порядке элементов
ctx.emit(rows)Сразу отправляет строки, например по пачке на каждую страницу длинного обхода
ctx.log(message), ctx.progress(message, current, total)Показывает строку лога или прогресс во время работы шага
ctx.context, ctx.browserКонтекст браузера Playwright и сам браузер этого запуска

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

Настройки ​

Настройки браузера находятся на странице плагина. Для одного шага их можно изменить кнопкой Настройки шага.

  • Профиль браузера: Режим User-Agent (Постоянный, Случайный на каждый запуск или Новый для каждой страницы), User-Agent, Список User-Agent, Ширина окна и Высота окна (по умолчанию 1366 × 900), Язык и регион (по умолчанию en-US) и Часовой пояс.
  • Сеть: Прокси и Блокируемые ресурсы (Изображения, Шрифты, Аудио и видео, Стили).
  • Темп: Пауза (1000 мс) и Разброс паузы (500 мс) для ctx.pause(), Параллельные страницы для ctx.map() (по умолчанию 1, не больше 8) и Тайм-аут загрузки страниц (30 секунд).
  • Сессия: Сохранять сессию и Имя сессии.
  • Отладка: Снимок при ошибке, по умолчанию включён.

Сохранение сессии ​

Если включено Сохранять сессию, плагин сохраняет cookies и local storage после запуска и восстанавливает их в следующем. Шаги с одинаковым значением Имя сессии используют их совместно. Шаг может один раз войти на сайт с учётными данными из переменных задачи, а следующие запуски продолжат ту же сессию.

Чтобы снова войти с нуля, откройте страницу плагина и нажмите Очистить в строке Сохранённые сессии.

Если шаг завершился ошибкой ​

Если включён Снимок при ошибке, шаг, который упал или не успел завершиться, сохраняет скриншот и HTML последней открытой страницы. Оба файла появляются в разделе Артефакты в истории запусков, где их можно открыть кнопками Открыть и Показать в Finder. Подробнее в разделе Запуски и артефакты.

Таймаут шага задаётся в самом шаге задачи (для шагов плагинов по умолчанию 10 минут). Загрузка страницы, кроме того, прерывается по истечении времени из настройки Тайм-аут загрузки.

Плагин Telegram может отправить эти файлы в чат.

Шаг с помощью ассистента ​

Ассистент умеет изучать сайт инструментами плагина: открыть страницу, получить схему её элементов, проверить селекторы, выполнить код во вкладке, посмотреть сетевые запросы и сделать скриншоты. Перед каждым вызовом он спрашивает разрешения, а затем пишет шаг за вас. Вкладки ассистента не связаны с запусками шага, поэтому шаг должен сам открыть все страницы и пройти по ним.

Руководство плагина запрещает ассистенту обходить CAPTCHA, стены входа, защиту от ботов и ограничения частоты запросов. Если страница показывает что-то из этого, шаг должен остановиться с ошибкой, в которой сказано, что он увидел.