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


368

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


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

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

JAVASCRIPT

  • PhantomJS - JavaScript , автономное тестирование с захватом экрана и автоматизацией, использует Webkit . Начиная с версии 1.8 Selenium API 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 , главным образом, scraper / miner - быстрый, хорошо документированный и может быть связан с Django Dynamic Scraper для хороших развертываний майнинга или Scrapy Cloud для PaaS (без сервера), работает в терминале или автономном процессе сервера , можно использовать с сельдереем , построенным поверх Twisted
  • Snailer - модуль node.js , еще не протестирован .
  • Node-Crawler - модуль node.js , еще не протестирован.

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

  • новый язык Web Scraping - простой синтаксис для сканирования в Интернете

  • новый онлайн HTTP клиент - выделенный SO ответ

  • мертвый CasperBox - запускатьскрипты CasperJS онлайн


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

Вопросов:

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

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

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

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

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

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

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


1
Не знаю, если это то, что вы хотите, но мне нравится этот модуль для сканирования веб-страниц, проверки DOM и так далее: npmjs.org/package/crawler . он использует jsdom, и вы можете использовать jQuery как селекторный движок. этот (который использует сканер) тоже выглядит интересно: npmjs.org/package/snailer
здесьandnow78

У меня был большой успех с модулем узла-фантома. Это довольно просто и довольно хорошо задокументировано. Он поддерживает внедрение JavaScript.
Джош С.

1
Я уверен, что вы знаете, что GhostDriver является реализацией Selenium-Webdriver, которая использует phantomJS
Робби Уэрхэм

2
Вы также можете найти эту информацию полезный: blog.screen-scraper.com/2010/06/28/...
Тодд

1
Для визуального анализа и сравнения: PhantomCSS и PhantomFlow
FelipeAls

Ответы:


35

Если вам нравится Ruby, вы также можете попробовать:

Также камень Nokogiri можно использовать для соскоба:

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


watir в тысячу раз проще, чем библиотеки выше.
Паван Катепалли

Для python библиотека "webbot" предлагает богатые возможности для простой веб-автоматизации.
Натеш Бхат

11

http://triflejs.org/ похож на phantomjs, но основан на IE


Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными в случае изменения связанной страницы.
Сатиш

5
Звучит нормально, но сам вопрос представляет собой набор ресурсов. Ссылка с кратким описанием для включения в список соответствует формату и имеет смысл.
Федерико Галасси

7

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.