Безголовый браузер и соскабливание - решения

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


БРАУЗЕР ТЕСТ/СКРЕБИНГ:

  • Selenium - флагман Polyglot в области автоматизации браузера, привязки для Python, Ruby, JavaScript, С#, Haskell и других, IDE для Firefox (как расширение) для более быстрого развертывания тестов. Может выступать в качестве сервера и имеет множество функций.

JAVASCRIPT

  • PhantomJS - JavaScript, автономное тестирование с захватом экрана и автоматизацией, использует Webkit. Начиная с версии 1.8 реализован API Selenium WebDriver, поэтому вы можете использовать любую привязку WebDriver, и тесты будут совместимы с Selenium
  • SlimerJS - аналогично PhantomJS, использует Gecko (Firefox) вместо WebKit
  • CasperJS - JavaScript, основанный на PhantomJS и SlimerJS, имеет дополнительные функции
  • Ghost Driver - реализация JavaScript для протокола WebDriver Wire для PhantomJS.
  • новый PhantomCSS - регрессионное тестирование CSS. Модуль CasperJS для автоматизации визуального регрессионного тестирования с PhantomJS и Resemble.js.
  • новый WebdriverCSS - плагин для Webdriver.io для автоматизации визуального регрессионного тестирования
  • Новый PhantomFlow - Опишите и визуализируйте пользовательские потоки через тесты. Экспериментальный подход к тестированию пользовательского веб-интерфейса.
  • new trifleJS - переносит API PhantomJS для использования движка Internet Explorer.
  • новый CasperJS IDE (коммерческий)

Node.js

  • Node-phantom - устраняет разрыв между PhantomJS и node.js
  • WebDriverJs - привязки Selenium WebDriver для node.js от Selenium Team
  • WD.js - модуль узла для WebDriver/Selenium 2
  • yiewd - оболочка WD.js с использованием новейших генераторов Harmony! Избавьтесь от пирамиды обратного вызова с выходом
  • ZombieJs - Безумно быстрое, безголовое полное тестирование с использованием node.js
  • NightwatchJs - решение для тестирования на базе JS Node с использованием Selenium Webdriver
  • Химера - Химера: может делать все, что делает phantomJS, но в полноценной среде JS
  • Dalek.js - Автоматическое кросс-браузерное тестирование с использованием JavaScript через Selenium Webdriver
  • Webdriver.io - лучшая реализация привязок WebDriver с предопределенными действиями 50+
  • Кошмар - Электронный мост с API высокого уровня.
  • JSDOM - специально для веб-очистки. Очень легкий DOM, реализованный в Node.js, он поддерживает страницы с javascript.
  • новый Puppeteer - библиотека узлов, которая предоставляет API высокого уровня для управления Chrome или Chromium. Кукловод по умолчанию работает без головы.

WEB СКРЕПИНГ/ГОРНОЕ

  • Scrapy - Python, в основном скрепер /майнер - быстрый, хорошо документированный и может быть связан с Django Dynamic Scraper для удобных развертываний майнинга или Scrapy Cloud для PaaS (без сервера), работает в терминале или на автономном сервере, можно использовать с сельдереем, построенным поверх Twisted
  • Snailer - модуль node.js, еще не протестирован.
  • Node-Crawler - модуль node.js, еще не протестирован.

ИНСТРУМЕНТЫ ОНЛАЙН


СВЯЗАННЫЕ ССЫЛКИ И РЕСУРСЫ

Вопросы:

  • Любое чистое решение Node.js или модуль Nodejs для PhanthomJS/CasperJS, который действительно работает и задокументирован?

Ответ: Химера, кажется, идет в этом направлении, касса Химера

  • Другие решения, способные легче внедрить JavaScript, чем Selenium?

  • Вы знаете какие-нибудь чистые рубиновые решения?

Ответ: Проверьте список, созданный rjk с решениями на основе ruby

  • Знаете ли вы какие-либо связанные технологии или решения?

Не стесняйтесь редактировать этот вопрос и добавлять контент по своему желанию! Спасибо за ваш вклад!

Ответ 1

Если Ruby - это ваша вещь, вы также можете попробовать:

также, камень Нокогири можно использовать для выскабливания:

есть специальная книга о том, как использовать nokogiri для очистки до публикации packt

Ответ 3

Разновидностью основанного на JS Selenium является Dalek.js. Он предназначен не только для автоматизированных тестов фронтэнда, но и с его помощью можно делать скриншоты. Он имеет веб-драйверы для всех важных браузеров. К сожалению, эти веб-драйверы, кажется, стоит улучшить (просто не сказать "глючит" для Firefox).