Comments 13

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


Плюсы 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 landed and left these words 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.

Information

Founded
Location
Россия
Website
ruvds.com
Employees
11–30 employees
Registered

Habr blog