stringtranslate.com

Navegador sin interfaz gráfica

Un navegador sin cabeza es un navegador web sin una interfaz gráfica de usuario .

Los navegadores sin interfaz gráfica proporcionan un control automatizado de una página web en un entorno similar a los navegadores web populares, pero se ejecutan a través de una interfaz de línea de comandos o mediante comunicación de red. Son particularmente útiles para probar páginas web, ya que pueden representar y comprender HTML de la misma manera que lo haría un navegador, incluidos elementos de estilo como el diseño de la página, el color, la selección de fuentes y la ejecución de JavaScript y Ajax que generalmente no están disponibles cuando se utilizan otros métodos de prueba. [1]

Desde la versión 59 de Google Chrome [2] [3] y la versión 56 [4] de Firefox [5] , existe soporte nativo para el control remoto del navegador. Esto hizo que los esfuerzos anteriores quedaran obsoletos, en particular PhantomJS [6] .

Casos de uso

Los principales casos de uso de los navegadores sin interfaz gráfica son:

Otros usos

Los navegadores sin interfaz gráfica también son útiles para el web scraping . Google afirmó en 2009 que el uso de un navegador sin interfaz gráfica podría ayudar a su motor de búsqueda a indexar el contenido de los sitios web que utilizan Ajax. [7]

Los navegadores sin interfaz gráfica también se han utilizado incorrectamente de diversas maneras:

Sin embargo, un estudio del tráfico de navegadores en 2018 no encontró preferencia por parte de actores maliciosos por los navegadores sin interfaz gráfica. [3] No hay indicios de que los navegadores sin interfaz gráfica se utilicen con mayor frecuencia que los navegadores sin interfaz gráfica para fines maliciosos, como ataques DDoS, inyecciones SQL o ataques de secuencias de comandos entre sitios .

Uso

Como varios navegadores importantes admiten de forma nativa el modo sin interfaz gráfica a través de API , existe algún software para realizar la automatización del navegador a través de una interfaz unificada. Entre ellos se incluyen:

Automatización de pruebas

Algunos software y marcos de automatización de pruebas incluyen navegadores sin interfaz gráfica como parte de sus aparatos de prueba. [3]

Alternativas

Otro enfoque es utilizar software que proporcione API de navegador. Por ejemplo, Deno proporciona API de navegador como parte de su diseño. Para Node.js , jsdom [17] es el proveedor más completo. Si bien la mayoría puede admitir funciones comunes de navegador (análisis HTML, cookies , XHR , algo de JavaScript, etc.), no renderizan el DOM y tienen un soporte limitado para eventos DOM . Por lo general, funcionan más rápido que los navegadores completos, pero no pueden interpretar correctamente muchos sitios web populares. [18] [19] [20]

Otro es HtmlUnit , un navegador sin interfaz gráfica escrito en Java. HtmlUnit utiliza el motor Rhino para proporcionar compatibilidad con JavaScript y Ajax, así como capacidad de renderizado parcial. [21] [22]

Lista de navegadores sin interfaz gráfica

Se trata de varios programas que proporcionan API de navegador sin interfaz gráfica.

Otro esfuerzo anterior notable fue envjs en 2008 de John Resig , que era un entorno de navegador simulado escrito en JavaScript para el motor Rhino . [29]

Véase también

Referencias

  1. ^ "¿Qué es un navegador sin interfaz gráfica?". arhg.net . 7 de octubre de 2009.
  2. ^ "Introducción a Chrome sin interfaz gráfica". developer.google.com . 27 de abril de 2017.
  3. ^ abc Bekerman, Dima (28 de noviembre de 2018). "Chrome sin interfaz gráfica: a los DevOps les encanta, a los hackers también, este es el motivo | Imperva". Blog . Consultado el 22 de febrero de 2021 .
  4. ^ "Notas de la versión de Firefox 56". developer.mozilla.org . 26 de febrero de 2023.
  5. ^ "Modo sin interfaz gráfica: compatibilidad con navegadores". developer.mozilla.org . Archivado desde el original el 2018-06-03 . Consultado el 2017-08-31 .
  6. ^ "Inicio rápido". phantomjs.org .
  7. ^ Mueller, John (7 de octubre de 2009). "Blog oficial de Google Webmaster Central: una propuesta para hacer que AJAX sea rastreable". Blog oficial de Google Webmaster Central .
  8. ^ Rawlings, Matt (20 de noviembre de 2013). "Botnet de navegador sin cabeza utilizada en un ataque DDoS de 150 horas". Business 2 Community .
  9. ^ Mello Jr., John P. (25 de marzo de 2014). "El tráfico web sin interfaz gráfica amenaza la economía de Internet". ecommercetimes.com .
  10. ^ Raywood, Dan (1 de abril de 2014). "Navegadores sin interfaz gráfica: software legítimo que permite ataques". ITProPortal .
  11. ^ Mueller, Neal. "Relleno de credenciales". owasp.org .
  12. ^ Sheth, Himanshu (17 de noviembre de 2020). "Selenium 4 ahora es compatible con W3C: todo lo que necesita saber".
  13. ^ "GitHub - Dramaturgo". GitHub . Consultado el 11 de abril de 2021 .
  14. ^ "Github - Puppeteer". GitHub . Consultado el 11 de abril de 2021 .
  15. ^ Silva, Francisco (29 de mayo de 2019). "De capybara-webkit a Headless Chrome y ChromeDriver". Blog | Imaginary Cloud . Consultado el 22 de febrero de 2021 .
  16. ^ Bintz, John. "jasmine-headless-webkit - ¡La forma más rápida de ejecutar tus especificaciones de Jasmine!". johnbintz.github.io . Consultado el 22 de febrero de 2021 .
  17. ^ "JSDOM en GitHub: simula ser un navegador visual". GitHub . Consultado el 18 de abril de 2021 .
  18. ^ "assaf/zombie". GitHub .
  19. ^ "ヘ ル ペ ス が 口 や 目 か ら う つ る? 感 染 し た 時 の 症 状 と 病 院 の 治 療 方 法 と は". www.envjs.com . Archivado desde el original el 23 de febrero de 2015 . Consultado el 13 de marzo de 2015 .
  20. ^ "JavaScriptMVC - EnvJS". javascriptmvc.com . Archivado desde el original el 23 de mayo de 2015 . Consultado el 13 de marzo de 2015 .
  21. ^ Mike Bowler. "HtmlUnit – Bienvenido a HtmlUnit". sourceforge.net .
  22. ^ "Plataforma (API de Vaadin 7.3.4)". vaadin.com . 6 de noviembre de 2014.
  23. ^ "scrapinghub/splash". GitHub . 20 de diciembre de 2021.
  24. ^ "DARPA - Catálogo abierto". Archivado desde el original el 28 de mayo de 2015. Consultado el 28 de mayo de 2015 .
  25. ^ "Zombi". labnotes.org .
  26. ^ SimpleBrowserDotNet/SimpleBrowser, SimpleBrowserDotNet, 10 de febrero de 2021 , consultado el 22 de febrero de 2021
  27. ^ Ejemplos de DotNetBrowser, TeamDev, 12 de marzo de 2021 , consultado el 12 de marzo de 2021
  28. ^ "DotNetBrowser". Equipo de desarrollo. 5 de mayo de 2021.
  29. ^ Resig, John (12 de octubre de 2008). "env-js: Un entorno de navegador basado en JavaScript puro" – vía GitHub.