Navegador sin cabeza y raspado - soluciones [cerrado]

368

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


ENLACES Y RECURSOS RELACIONADOS

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!

Inoperable
fuente
1
no sé si eso es lo que quieres, pero me gusta ese módulo para rastrear páginas web, inspeccionar el dom y así sucesivamente: npmjs.org/package/crawler . usa jsdom, y puedes jQuery como motor de selección. este (que usa el rastreador) también parece interesante: npmjs.org/package/snailer
hereandnow78
He tenido mucho éxito con el módulo nodo-fantasma. Es bastante sencillo y bastante bien documentado. Es compatible con la inyección de JavaScript.
Josh C.
1
Estoy seguro de que sabe que GhostDriver es una implementación de Selenium-Webdriver que usa phantomJS
Robbie Wareham
2
También puede resultarle útil: blog.screen-scraper.com/2010/06/28/…
todd
1
Para el raspado visual y las comparaciones: PhantomCSS y PhantomFlow
FelipeAls

Respuestas:

35

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

rkj
fuente
watir es mil veces más fácil que las bibliotecas anteriores.
Pavan Katepalli
Para python, la biblioteca "webbot" ofrece funciones completas para una automatización web sencilla.
Natesh bhat
11

http://triflejs.org/ es como phantomjs pero basado en IE

Federico Galassi
fuente
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
Sathish
55
Eso suena bien normalmente, pero esta pregunta es en sí misma una colección de recursos. Un enlace con una breve descripción para incorporar en la lista se ajusta al formato y tiene sentido.
Federico Galassi
7

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).

Jens Grochtdreis
fuente