The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Puppeteer 23, библиотеки для автоматизации управления браузером

07.08.2024 22:24

Представлен выпуск JavaScript-библиотеки Puppeteer 23, предназначенной для автоматизации управления web-браузерами. Библиотека подходит как для автоматического выполнения типовых операций с браузером, так и для проведения тестирования браузеров и симуляции работы пользователей. Код проекта написан на языке TypeScript с использованием Node.js и распространяется под лицензией Apache 2.0.

Например, Puppeteer позволяет создать сценарий, запускающий браузер, выставляющий нужный размер окна, открывающий определённую страницу, выставляющий фокус на заданном поле для поиска, вводящий в поле данные и отправляющий запрос, после чего переходящий по ссылке на первый результат в списке и сохраняющий полученную страницу. Библиотека также предоставляет возможности для загрузки свежей версии выбранного браузера, симуляции работы на выбранном аппаратном устройстве (например, на смартфоне Pixel 5), обработки форм аутентификации. В процессе работы можно отслеживать, перехватывать, модифицировать или блокировать сетевые запросы и ответы, а также манипулировать HTTP-заголовками и выполнять свои скрипты в контексте открываемых страниц.

Выпуск Puppeteer 23 примечателен обеспечением официальной поддержки браузера Firefox, помимо изначально поддерживаемых браузеров на базе движка Chromium (проект Puppeteer сопровождают разработчики расширения Chrome Browser Automation). Для взаимодействия с браузерами поддерживаются протоколы CDP (Chrome DevTools Protocol) и WebDriver BiDi. По умолчанию браузеры запускаются в режиме работы без экрана (headless). Отмечается, что стабилизация в новой версии поддержки Firefox и WebDriver BiDi, позволяет использовать Puppeteer в качестве универсального средства для автоматизации тестирования работы web-приложений в разных браузерах.

  1. Главная ссылка к новости (https://hacks.mozilla.org/2024...)
  2. OpenNews: Компания Google представила пакет для тестирования web-приложений NativeDriver
  3. OpenNews: WebDriver - пакет для тестирования web-приложений от Google
  4. OpenNews: Консорциум W3C опубликовал черновой вариант спецификации WebDriver API
  5. OpenNews: Реализация программной отрисовки для WebRender
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61670-puppeteer
Ключевые слова: puppeteer, browser, javascript, test
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 22:46, 07/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Жалко phantomjs и slimerjs закрылись.
     
     
  • 2.23, Аноним (23), 11:25, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Автору phantomjs предложили закрыть его проект и перейти в разаработку chrome headless.
     

  • 1.5, Аноним (3), 22:49, 07/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Так эта штука ещё и от самого Гугла. Вот уж не знал.
     
  • 1.10, Аноним (10), 01:53, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Убогая библиотека. Помню столько времени убил на неё. Всё настроил, работает и тут раз - выходит новая версия и всё по новой - что-то полетело. Весьма ненадёжная библиотека, не рекомендую, а предлагаю рассматривать альтернативные варианты ваших задач. Когда познакомился - очень неудобно и нестабильно работало.
     
     
  • 2.11, Аноним (11), 02:43, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё это можно сказать про любую библиотеку на NPM

    Каждый новый день трясущимися руками набираешь npm install и ждешь что же на этот раз отвалится... Прибьешь версии гвоздями - через пару месяцев всё настолько мутирует, что проще будет проект с начала начать, чем вникать и чинить после обновления.

     
  • 2.33, YetAnotherOnanym (ok), 17:24, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > выходит новая версия

    Выходит новая версия браузера и библиотека перестаёт с ней работать, или выходит новая версия библиотеки и перестаёт работать независимо от версии браузера?

     
     
  • 3.45, Аноним (45), 10:38, 09/08/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Красиво подчёркнута суть вебни.
     
     
  • 4.46, Аноним (46), 15:30, 09/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно просматривается единственный общий компонент всех проблем вэба?
    JavaScript называется.
     
     
  • 5.49, Анониссимус (?), 10:15, 13/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Точнее не сам жс, а коллективный мозг, который его создал.
     
  • 2.34, Skullnet (ok), 17:49, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё полетело, потому что в DOM-е сайта как обычно что-то поменялось. Если юзаешь такие библиотеки, то будь готов иногда вносить правки в взаимодействие с сайтом.
     

  • 1.12, Аноним (12), 04:12, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть ли какой-то автоматизатор для запуска определенных программ и документов на нужной странице? Или сохранение и восстановление состояния всех открытых программ и документов. Например после нештатной перезагрузки компьютера восстановить прошлую сессию целиком, чтобы можно было продолжить работу где остановился
     
     
  • 2.13, Аноним (13), 04:30, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да: всегда хранить оперативные данные на жестком диске (SSD) вместо модулей памяти (DDR). Все будет сильно тормозить, но зато после нештатной перезагрузки всё сохранится целиком, даже позиция мыши, даже раскладка клавиатуры.
     
  • 2.15, КО (?), 06:47, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Любая песочница + autohotkey
     
  • 2.20, _kp (ok), 10:28, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вариант 1: исключить внезапные перезагрузки. Поставить ups или работать на ноутбуке. Сменить ОС на Линукс или Масоs.
    (Щас скажут из какого века пишете, Win7-11 надёжны.. Да, по сравнению с предыдущими версиями, а при активной работе ещё как вылетают в синий экран. Плюс если недоотключить обновления, тоже проблемы)

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

    Вариант 3: забить. Браузер и так сохраняет свое состояние, в офисе тоже можно автосохранентя почаще выставить. А уж открыть программы, которые были открыты перед ввключением, сейчас любая ОС может. Да, иногда может не срабоатать, но не каждый же раз

     
  • 2.21, user (??), 10:35, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чаще нажимать Ctrl-S.
     
  • 2.36, YetAnotherOnanym (ok), 18:04, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > сохранение и восстановление состояния всех открытых программ и документов

    https://web.archive.org/web/20110621235229/http://www.cis.upenn.edu/~KeyKOS/Na
    > The KeyKOS nanokernel is a capability-based object-oriented operating system that has been in production use since 1983
    > Checkpoints at tunable intervals provide system-wide backup, fail-over support, and system restart times typically less than 30 seconds
    > Typically, the system loses only the last few seconds of keyboard input. At UNIFORUM '90, Key Logic pulled the plug on our UNIX system on demand. Within 30 seconds of power restoration, the system had resumed processing, complete with all windows and state that had previously been on the display

    Диды всё уже напрограммувалы, а вы о таком и слыхом не слыхивали.

     
  • 2.39, Аноним (39), 22:03, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это ты опоздал на …дцать лет. Жди теперь когда сотрут границы между процессорным кэшем, оперативной памятью и диском.
     

  • 1.17, Аноним (17), 09:24, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Выпуск Puppeteer 23 примечателен обеспечением поддержки браузера Firefox
    > Отмечается, что добавление в новой версии поддержки Firefox

    Много лет с помощью puppeteer создаю pdf автоматически через firefox. Я так понимаю, в новом релизе поддержку протокола BiDi в firefox перевели в разряд стабильных, т.ч. текст новости некорректен.

     
     
  • 2.27, Аноним (27), 12:36, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Неужели опция "файл\печать\сохранить в pdf" в вашем FF отсутсвует?
    Много лет с ней создаю PDF автоматически через firefox.
     
     
  • 3.43, Аноним (17), 01:01, 09/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На сервере в хедлесс режиме то?
     

  • 1.18, Аноним (18), 09:24, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лучше всего ZennoPoster. Самая крутая прога для автоматизации задач в интернете.
     
     
  • 2.22, Аноним (22), 10:43, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это другой класс задач. Сабж это аналог Selenium, для авто тестов. ZennoPoster - это видимо какая-то подкроватная балалайка.
     
     
  • 3.24, oditynet (?), 11:26, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Selenium куда удобнее/ Написал скрипт по автозаполнению отчета и он каждую неделю заходит?заполняет отчет и отправляет его/ Все!
     
     
  • 4.25, Аноним (25), 11:30, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не может/ такого/ быть/ !
     
  • 2.26, _kp (ok), 11:44, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучше всего ZennoPoster. Самая крутая прога для автоматизации задач в интернете.

    Какое наиболее прямое решение для упраления браузером?
    Задачи:
    - Включить/выключить видео (не браузер) в полный экран.
    - прочее управление.

    Сейчас я делаю управление ТВ через Алису. Пока из костыльной програмки в браузер посылаю сообшения и коды кнопок.

     
     
  • 3.28, Аноним (27), 12:50, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Купил на алишке небольшую дополнительную клавиатуру на N клавиш(от 1\2\3 до 12), каждую из которых можно запрограммировать на свое сочетание.
    Запрограммировал одну из них нажимать "F" (ютуб на полный экран, у вас может быть другое) - большого труда не стоит.
    Остальные клавиши запрограммировал на прочее управление (запуск программ, киляние программ, перезапуск программ, etc...)
    Как альтернатива - поставить USB инфракрасный датчик  на считывание посылаемых на него кодов (поставлялся раньше с разными медиа-платами типа авермедиа и даже с почившим ныне виндовс медиа центром). Посылать в него коды с универсального пульта.
    В общем вариантов куча, как с железом, так и чисто софтовые (какой нибудь сервер принимающий рест-апи запросы, и соответственно реагирующий)
     
     
  • 4.30, _kp (ok), 14:21, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Коды клавиш или их последовательности тривиально можно посылать и без клавиатуры, через API, причем не абы куда, но и конкретному приложению.

    > Как альтернатива - поставить USB инфракрасный датчик

    Это есть. Принимает сигнал от "умного ИК пульта Алисы", а на него можно что угодно отправлять.
    С запуском чего то, простыми командами, и эмуляций нажатий клавиатуры проблем нет.

    > Запрограммировал одну из них нажимать "F" (ютуб на полный экран..

    Как? Как плеер в браузере корректно разворачивать на полный экран?
    Пока к меня деревянное решение, послать коды мыши, двойной клик в центре экрана, ЕСЛИ попал в область видео, то развернёт. :)

     
  • 3.29, Аноним (27), 12:52, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    напомнило древний мем:
    (держи на заторможенном) https://www.youtube.com/watch?v=9DXutPlbZIQ
     
  • 3.37, n00by (ok), 20:16, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В MPRIS есть https://mpris2.readthedocs.io/en/latest/interfaces.html#mpris2.MediaPlayer2.Fu
    но браузеры вроде бы не поддерживают свойство Fullscreen (в firefox нет), только воспроизведение/паузу. Возможно, какие-то дополнения реализуют, не искал.
     
  • 3.38, n00by (ok), 20:50, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Поискал, похоже, в plasma-browser-integration добавили возможность поменять Fullscreen https://github.com/KDE/plasma-browser-integration/commit/23d978c0ee173795d1d27
     
  • 3.50, n00by (ok), 16:01, 17/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Годится MPRIS или нет? Если проблема в KDE, то для plasma-browser-integration есть хостовая часть с меньшим количеством зависимостей, отвязанная от KDE (единственно, Fullscreen нет, но добавить несложно).
     

  • 1.31, Аноним (31), 14:47, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спарсил этой штукой гугл-карты (2 дня на написание скрипта, по апи данные обошлись бы в 10000 долларов), долгих лет жизни проекту.
     

  • 1.35, pavlinux (ok), 17:51, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  для автоматизации управления web-браузерами.

    ... и есть за меня будете?  (c)

     
  • 1.40, Аноним (39), 22:11, 08/08/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужнейший класс прогамм. Скрейплю цены и скидки в местных супермаркетах. По результатам строю жене оптимальный маршрут посещения по магазинов. Дурь дурью, конечно, но за прошлый год чуть больше двух килобаксов сэкономили этим скриптом.
     
     
  • 2.41, Аноним (31), 22:38, 08/08/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Расскажи лучше, как научил жену знать заранее, что ей нужно в магазинах. Моя не может ответить на прямой вопрос, что нужно купить.
     
     
  • 3.48, Аноним (39), 21:11, 09/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сочувствую. Сам тоже когда-то чуть не женился на инфантильной «девочке», за которую папа с мамой всю жизнь проблемы решали. Ну тут либо жизнь научит, либо ничего не поможет.
     
  • 2.44, pavlinux (ok), 09:40, 09/08/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > но за прошлый год чуть больше двух килобаксов

    Экономи это первый шаг к стагнации. Зарабатывать нужно больше!  

     
     
  • 3.47, Аноним (39), 21:04, 09/08/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нужно как раз и больше зарабатывать, и уменьшать расходы. Но это не разговор для опеннета
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру