Estoy tratando de poner una lista de posibles soluciones para trajes de pruebas automáticas del navegador y plataformas de navegador sin cabeza capaces de raspar.
PRUEBAS DE NAVEGACIÓN / RASTREO:
- Selenium : buque insignia políglota en la automatización del navegador, enlaces para Python, Ruby, JavaScript, C #, Haskell y más, IDE para Firefox (como una extensión) para una implementación de prueba más rápida. Puede actuar como un servidor y tiene toneladas de características.
JAVASCRIPT
- PhantomJS : JavaScript , prueba sin cabeza con captura de pantalla y automatización, utiliza Webkit . A partir de la versión 1.8, se implementó la API WebDriver de Selenium, por lo que puede usar cualquier enlace de WebDriver y las pruebas serán compatibles con Selenium
- SlimerJS : similar a PhantomJS, utiliza Gecko (Firefox) en lugar de WebKit
- CasperJS : JavaScript , construido en PhantomJS y SlimerJS, tiene características adicionales
- Ghost Driver : implementación de JavaScript del protocolo WebDriver Wire para PhantomJS .
- nuevo PhantomCSS - Pruebas de regresión CSS. A CasperJS módulo para la automatización de pruebas de regresión visual con PhantomJS y Resemble.js .
- nuevo WebdriverCSS : complemento para Webdriver.io para automatizar las pruebas de regresión visual
- nuevo PhantomFlow - Describe y visualiza los flujos de usuarios a través de pruebas. Un enfoque experimental para las pruebas de interfaz de usuario web.
- nuevo trifleJS : puertos de la API PhantomJS para usar el motor de Internet Explorer.
- nuevo CasperJS IDE (comercial)
NODE.JS
- Node-phantom : cierra la brecha entre PhantomJS y node.js
- WebDriverJs : enlaces de Selenium WebDriver para node.js por Selenium Team
- WD.js - módulo de nodo para WebDriver / Selenium 2
- yiewd - WD.js wrapper usando los últimos generadores Harmony! Deshágase de la pirámide de devolución de llamada con rendimiento
- ZombieJs : pruebas increíblemente rápidas y sin cabeza con stack.js
- NightwatchJs : solución de prueba basada en Node JS que utiliza Selenium Webdriver
- Quimera - Quimera: puede hacer todo lo que hace phantomJS, pero en un entorno JS completo
- Dalek.js : prueba de navegador cruzado automatizado con JavaScript a través de Selenium Webdriver
- Webdriver.io : mejor implementación de enlaces de WebDriver con más de 50 acciones predefinidas
- Pesadilla : puente de electrones con una API de alto nivel.
- jsdom : diseñado para el raspado de la web Un DOM muy ligero implementado en Node.js, soporta páginas con javascript.
- nuevo Puppeteer : biblioteca de nodos que proporciona una API de alto nivel para controlar Chrome o Chromium. Titiritero corre sin cabeza por defecto.
SCRAPING / MINERÍA WEB
- Scrapy : Python , principalmente un raspador / minero: rápido, bien documentado y se puede vincular con Django Dynamic Scraper para implementaciones de minería agradables, o Scrapy Cloud para implementación PaaS (sin servidor), funciona en la terminal o en un proceso independiente del servidor , se puede usar con apio , construido sobre Twisted
- Snailer - módulo node.js , aún no probado.
- Node-Crawler : módulo node.js , aún no probado.
Herramientas en línea
Nuevo lenguaje de web scraping : sintaxis simple para rastrear la web
nuevo cliente HTTP en línea : respuesta SO dedicada
Dead CasperBox - Ejecutescripts CasperJS en línea
ENLACES Y RECURSOS RELACIONADOS
- Comparación de software de Webscraping
- nuevo Resemble.js : análisis y comparación de imágenes
Preguntas:
- ¿Alguna solución pura de Node.js o Nodejs al módulo PhanthomJS / CasperJS que realmente funciona y está documentada?
Respuesta: Quimera parece ir en esa dirección, mira Quimera
¿Otras soluciones capaces de una inyección de JavaScript más fácil que Selenium?
¿Conoces alguna solución de rubí puro ?
Respuesta: Verifique la lista creada por rjk con soluciones basadas en ruby
- ¿Conoces alguna tecnología o solución relacionada?
¡Siéntase libre de editar esta pregunta y agregar contenido como desee! ¡Gracias por sus aportaciones!
Respuestas:
Si lo tuyo es Ruby, también puedes probar:
Además, la gema Nokogiri se puede usar para raspar:
hay un libro dedicado sobre cómo utilizar el nokogiri para el raspado mediante la publicación de paquetes
fuente
http://triflejs.org/ es como phantomjs pero basado en IE
fuente
Un tipo de Selenium basado en JS es Dalek.js . No solo apunta a pruebas frontend automatizadas, también puede hacer capturas de pantalla con él. Tiene controladores web para todos los navegadores importantes. Desafortunadamente, parece que vale la pena mejorar esos controladores web (solo para no decir "buggy" a Firefox).
fuente