Pull to refresh

Comments 13

Интересно было бы посмотреть на сравнение с Selenium.

Я пользовался и тем и тем, могу сравнить


Плюсы Puppeteer:


  • Несет дистрибутив хрома внутри, npm install puppeteer ставит все что вам нужно. В случае с Selenium нужно ставить браузер самому
  • Быстрее работает за счет отсутствия лишних звеньев в цепи. Нет промежуточного Selenium server, все команды идут напрямую в браузер
  • Больше функциональности: перехват запросов, экспорт в pdf, скриншот заданного селектора. Смотрите сами

Плюсы Selenium:


  • Кросс-браузерность. Если вам нужно тестировать разные платформы, тут у Puppeteer нет шансов
  • Байндинги не только к Javascript. Если ваш основной рабочий язык — не JS, с Puppeteer будет сложновато.
Несет дистрибутив хрома внутри

Боря, не обманывай людей, он несет внутри ссылки на скачивание Chrome с серверов Google. github.com/GoogleChrome/puppeteer/blob/master/utils/ChromiumDownloader.js#L33-L38 Чуваки наваяли HTTP клиента поверх готового JSON API, а также немного синтаксического сахара и теперь представляют это как панацею для проблем всего веб-тестирования. Вот такой вот очередной шум вокруг тривиального Javascript проекта.
Ну и чтобы не голословно звучало — нормальные чуваки потихоньку пересаживаются на Selenoid.

Да, не совсем точно выразился, Хром автоматически скачивается при установке. Тем не менее все равно это отличается типичной установки Selenium, где браузер нужно ставить и обновлять самостоятельно. (Remote-версию с Selenium hub не рассматриваем, это совсем про другое).


представляют это как панацею для проблем всего веб-тестирования

Этого никто не говорил. Puppeteer заменяет PhantomJS, который больше не развивается. Для скраппинга сайтов, генерации PDF и тому подобных задач Puppeteer прекрасно подходит.


Ниша кросс-браузерного тестирования (особенно в Internet Explorer) еще надолго останется за Selenium, я так полагаю.

Там реализована поддержка проксей? просто в силениуме с этим не очень, я смог еле еле запустить тока на специальном браузере фантомjs.
UFO just landed and posted this here

Оба работают через один и тот же DevTools protocol. Принципиально между инструментами разницы никакой.


Только Puppeteer разрабатывается официально Гуглом, а Chromeless сделали какие-то ноунейм ребята из стартапа. Статистика скачиваний говорит, что Puppeteer на порядок популярнее.


Учитывая эти факты, я бы не стал серьезно рассматривать Chromeless.

Мне кажется, или даже для примера копирование в качестве селектора всей вложенности — это перебор? Малейшее изменение структуры повлечет за собой поломку. Статья не об этом, но все же. Ну и на правах зануды туда же можно присовокупить выборку всех заголовков h1, в которую могут попасть не только названия книг.
За статью спасибо, любопытный инструмент.

прекрасно работает в режиме headless: false а без него только с гуглом, другие сайты не грузятся. Выдает только «Error: Navigation Timeout Exceeded: 30000ms exceeded».
(Win, Node 8.7.0) пробовал также посл версию из гита.
Only those users with full accounts are able to leave comments. Log in, please.