User Tools

Site Tools


screenshot_de_paginas_webs_desde_terminal

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
screenshot_de_paginas_webs_desde_terminal [2024/03/20 22:48] busindrescreenshot_de_paginas_webs_desde_terminal [2024/03/20 23:32] (current) – [Especificando un browser agent en la linea de comandos de Firefox / Chrome] busindre
Line 1: Line 1:
-===== Hacer screenshots (imagen/pdf) de páginas web desde modo texto sin aplicaciones gráficas =====+====== Hacer screenshots (imagen / PDF) de páginas web desde linea de comandos ======
  
-==== Usando firefox Chrome/Chromium====+Firefox y Chromium/Chrome permiten hacer screenshot de páginas web. Cada uno de ellos destaca y soporta diferentes formatos por lo que actualmente, dependiendo de las necesidades, será mejor usar uno u otro
  
-==== Metodos antiguos ====+===== Usando Firefox y Chrome/Chromium =====
  
-[[http://phantomjs.org/|PhantomJS]] es un navegador web sin interfaz gráfica utilizado para automatizar la interacción con páginas web, sobre todo en entornos de integración continua que requieren de pruebas constantes. PhantomJS ofrece una API en JavaScript que permite la navegación automatizada, realizar capturas de pantalla, simular comportamientos de usuario, etc. PhantomJS está basado en Webkit, entorno de navegación similar a Safari. Es código abierto publicado bajo la licencia BSD.+**URL Screenshot en imagen**: 
 +Firefox no necesita de parámetros ni código extra para tomar una screenshot completa de una web, independientemente de la estructura de la página. 
 +<code bash># Si no se especifica la ruta, la salida siempre será en screenshot.png. 
 +firefox -screenshot $HOME/screenshot.png "https://XXX/"</code> 
 + 
 +Chrome/Chromium permite hacer screenshots, pero actualmente (2024) necesita de código extra si se quiere tener una captura completa de la página. 
 +<code bash># https://developer.chrome.com/blog/headless-chrome?hl=es-419 
 +# Screenshot completas de URLs: https://medium.com/@dschnr/using-headless-chrome-as-an-automated-screenshot-tool-4b07dffba79a 
 +chrome --headless --disable-gpu --screenshot https://XXX/ 
 +chromium --headless --disable-gpu --screenshot https://XXX/ 
 +</code> 
 + 
 + 
 +**URL Screenshot en pdf (Chrome / Chromium)**: 
 + 
 +Firefox no soporta todavía screenshots en PDFs. 
 + 
 +<code bash>chromium --headless --print-to-pdf "https://XXX/"</code> 
 + 
 +**Descargar código html de una página (Chrome / Chromium)**: 
 +<code bash>chromium-browser --headless --dump-dom "https://XXX/"</code> 
 +==== Especificando un browser agent en la linea de comandos de Firefox / Chrome ==== 
 + 
 +**Firefox**: No está soportado, se debe especificar en el perfil de usuario y luego usar dicho perfil en la ejecución de linea de comandos. 
 +<code> 
 +  -P <profile>       Start with <profile>
 +  --profile <path>   Start with profile at <path>
 +</code> 
 + 
 +Para configurar un perfil de firefox, este puede ejecutarse gráficamente y configurarlo como se quiera (about:config). Pero si solo se quiere cambiar el browser agent, se puede editar el fichero "user.js" del directorio de perfil (//$HOME/.mozilla/firefox/XXXX.default//) y modificar la siguiente linea. 
 +<code>user_pref("general.useragent.override", "Mozilla/5.0 AppleWebKit/…")</code> 
 + 
 + 
 +**Chrome/Chromium**: Para especificar un browser agent, simplemente se usa el parámetro %%--%%user-agent. 
 +<code bash>chromium --headless --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US)..." --print-to-pdf "https://wXXX"</code> 
 + 
 + 
 +===== Phantomjs (deprecated!) ===== 
 + 
 +[[http://phantomjs.org/|PhantomJS]] es un navegador web sin interfaz gráfica utilizado para automatizar la interacción con páginas web, sobre todo en entornos de integración continua que requieren de pruebas constantes. Actualmente el proyecto está discontinuado ya que los navegadores actuales tienen dichas opciones ya implementadas y pueden ejecutadas desde linea de comandos. 
 + 
 +PhantomJS ofrece una API en JavaScript que permite la navegación automatizada, realizar capturas de pantalla, simular comportamientos de usuario, etc. PhantomJS está basado en Webkit, entorno de navegación similar a Safari. Es código abierto publicado bajo la licencia BSD.
  
 Phantomjs es por tanto una buena herramienta para obtener capturas de pantalla fácilmente sin necesidad de entorno gráfico, muy útil para integrarlo en programas / scripts. Phantomjs es por tanto una buena herramienta para obtener capturas de pantalla fácilmente sin necesidad de entorno gráfico, muy útil para integrarlo en programas / scripts.
screenshot_de_paginas_webs_desde_terminal.1710971334.txt.gz · Last modified: 2024/03/20 22:48 by busindre