Браузер
Официальный плагин Браузер запускает Chromium без окна через Playwright. Вы пишете на Python шаг Веб-страница, который открывает страницы, переходит по ним и возвращает строки, как любой другой шаг. Если шаг завершился ошибкой, плагин сохраняет скриншот и HTML страницы как артефакты запуска.
Подготовка плагина
Python и браузер на Mac не нужны. В пакете плагина есть uv, который скачивает Python 3.12, Playwright и Chromium headless shell в папку плагина.
- Установите Браузер в Настройки > Плагины. Подробнее в разделе Работа с плагинами.
- Подтвердите разрешения: Доступ к сети, Скачивание компонентов и Запуск программ.
- Дождитесь, пока пройдут этапы Установка компонентов и Подготовка к работе. Для этих загрузок Mac должен быть подключён к интернету.
Если загрузка не удалась, на странице плагина появятся текст ошибки и кнопка Подготовить, чтобы повторить попытку. На странице плагина строка Скачанные компоненты показывает, сколько места занимают среда выполнения и браузер, а кнопка Переустановить скачивает их заново.
Как написать шаг
- В редакторе задачи добавьте шаг и выберите тип Веб-страница.
- Измените стартовый код. Он открывает страницу и возвращает по строке на каждую ссылку.
- Запустите шаг и проверьте строки в результате.
Код определяет одну корутину async def run(ctx) и возвращает список плоских словарей. Каждый словарь становится строкой. Можно вернуть и один словарь или None.
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, стены входа, защиту от ботов и ограничения частоты запросов. Если страница показывает что-то из этого, шаг должен остановиться с ошибкой, в которой сказано, что он увидел.