Articulo de referencia

PhantomJS

{{cite web|title=Tags · ariya/phantomjs|url=https://github.com/ariya/phantomjs/tags|website=GitHub|accessdate=28 November 2025|date=3 March 2018|archive-url=https://web.archive....

PhantomJS es un navegador sin interfaz gráfica (headless browser) descontinuado que se utilizaba para automatizar la interacción con páginas web. PhantomJS proporciona una API de JavaScript que permite la navegación automatizada , capturas de pantalla , análisis del comportamiento del usuario y aserciones, lo que lo convierte en una herramienta común para ejecutar pruebas unitarias basadas en navegador en un sistema headless, como un entorno de integración continua . PhantomJS se basa en WebKit, lo que lo convierte en un entorno de navegación similar a Safari y Google Chrome (antes de que la bifurcación de Chrome de WebKit evolucionara a Blink ). Es un software de código abierto publicado bajo la licencia BSD .

Historia

PhantomJS fue lanzado el 23 de enero de 2011 por Ariya Hidayat después de varios años de desarrollo.

El logotipo del proyecto, comúnmente utilizado para representar gráficamente a PhantomJS, es un fantasma azul fluorescente sobre un fondo negro. Esto alude a la ausencia de una interfaz gráfica de usuario, o cuerpo principal del navegador, lo que hace que los usuarios de PhantomJS parezcan fantasmas.

En marzo de 2018, el desarrollo de PhantomJS se suspendió debido a la falta de contribuciones activas. [ 2 ]

Uso

La API de JavaScript de PhantomJS permite abrir páginas web, tomar capturas de pantalla, ejecutar acciones del usuario y ejecutar código JavaScript inyectado en el contexto de la página. Por ejemplo, el siguiente código abrirá Wikipedia y, al cargarse, guardará una captura de pantalla en un archivo y saldrá.

var page = require ( 'webpage' ). create (); var url = 'http://en.wikipedia.org/' ; page.open ( url , function ( status ) { page.render ( ' wikipedia.org.png ' ); phantom.exit ( ) ; } ) ;

Ecosistema

PhantomJS se volvió tan valioso que proyectos similares adoptaron la API como una forma estándar de interactuar con navegadores sin interfaz gráfica. Por ejemplo, SlimerJS proporcionó una API similar a PhantomJS, pero sobre el motor de navegador Gecko de Mozilla en lugar de WebKit. [ 3 ]

Poco después del lanzamiento de PhantomJS, Nicolas Perriault escribió CasperJS , un conjunto de bibliotecas sobre PhantomJS que amplían sus capacidades como cliente para pruebas automatizadas de páginas web, permitiendo a los usuarios crear pruebas BDD aprovechando PhantomJS. La versión final de CasperJS se lanzó en noviembre de 2017. [ 4 ]

Yahoo! desarrolló una versión de YSlow que aprovecha PhantomJS para recopilar métricas de rendimiento para sitios web. [ 5 ]

Usuarios

Varias empresas destacadas han utilizado PhantomJS.

Véase también

Referencias

  1. "Etiquetas · ariya/phantomjs" . GitHub . 3 de marzo de 2018. Archivado del original el 1 de abril de 2025 . Consultado el 28 de noviembre de 2025 .
  2. "Archivado del proyecto: suspensión del desarrollo" . ariya/phantomjs . GitHub. 3 de marzo de 2018. Consultado el 28 de noviembre de 2025 .
  3. ^ Jouanneau, Laurent. "Preguntas frecuentes: SlimerJS" . SlimerJS . Consultado el 28 de noviembre de 2025 .{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace )
  4. "CasperJS en GitHub" . GitHub . Consultado el 28 de noviembre de 2025 .
  5. ^ Durán, Marcel. "YSlow para PhantomJS" . Lento . Consultado el 28 de noviembre de 2025 .
  6. Prasad, Kiran "phegaro" (11 de octubre de 2011). "LinkedIn Mobile: ¿Cómo lo hacemos?" . SlideShare . Recuperado el 28 de noviembre de 2025 .
  7. Mimoso, Michael (26 de agosto de 2014). "Las herramientas de seguridad de código abierto de Netflix resuelven una serie de desafíos" . ThreadPost . Recuperado el 28 de noviembre de 2025 .{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace )
  8. Hidayat, Ariya (23 de enero de 2012). "Un año vagando sin rumbo" . ariya.io . Archivado del original el 25 de diciembre de 2024. Consultado el 28 de noviembre de 2025 .
  • Sitio web oficial
  • GitHub