Comments 14
Люди тоже просят WebGL в headless-режимеОн работает уже год в Headless без всяких проблем
У него нет реальной отрисовки содержимого, то есть он все отрисовывает в памяти.
За счет этого он потребляет меньше памяти, потому что не нужно отрисовывать картинки или гигабайтные PNG
Я не понял — так он отрисовывает в память или нет? Если да, то к чему тут пассаж про PNG?
Как я понимаю: он полностью размечает весь макет в памяти, размеры, шрифты. Все есть, все можно измерить. Но саму отрисовку всего этого он не делает, пока не запросишь метод скриншота
Он работает быстрее, потому что ему ничего не нужно отрисовывать на реальном экране.
Отрисовка — копейки по сравнению с измерением текста и лэйаутом.
К тому же он знает размер картинок но распаковку jpeg в биты не производит
Мы не хотим больше Selenium — давайте нам Puppeteer!
Вот сделали бы сравнение — чем Puppeteer, по-вашему, лучше.
Хотя, какие бы плюсы не нашлись, они вряд-ли перекроют эти два от Selenium: поддержка более одного браузера и громадное количество оберток для всех популярных ЯП.
Вопрос к тем, кто активно использует Puppeteer: насколько сложно\тривиально с ним организовать тест для drag-n-drop? Можно написать что-нибудь вроде:
mouse
.mouseDown(...getNodeCoordinates(domNode))
.mouseMove(deltaX, deltaY)
.mouseUp()
Ну и прочие хитрые штуки, вроде нативного drag-n-drop из ОС (типа перетаскивания файлов на панель). Есть ли поддержка zoom-а страницы? Удобно и вообще возможно работать с window.confirm, window.alert?
насколько сложно\тривиально с ним организовать тест для drag-n-drop?
// Do drag-and-drop
mouse.down(..);
mouse.move(..);
mouse.up(..);
©
Ну и прочие хитрые штуки, вроде нативного drag-n-drop из ОС (типа перетаскивания файлов на панель).
Вряд ли, все что там есть, это то что можно делать в хромиум.
Есть ли поддержка zoom-а страницы?
Можно задать deviceScaleFactor через page.setViewport(viewport)
Удобно и вообще возможно работать с window.confirm, window.alert?
Возможно
Я так и не понял, чем Selenium хуже Puppeteer, и зачем с Python переходить на Node.js
Порядок заголовков как-то можно менять ?
Вы можете менять запрос на лету. Это значит, что вы можете полностью менять все его содержимое (body) и его заголовки, инспектировать, даже отменять запрос.
В Selenium такое возможно - изменить содержимое страницы до запуска?
Как работает Headless Chrome