Both sides previous revisionPrevious revisionNext revision | Previous revision |
screenshot_de_paginas_webs_desde_terminal [2024/03/20 23:09] – busindre | screenshot_de_paginas_webs_desde_terminal [2024/03/20 23:32] (current) – [Especificando un browser agent en la linea de comandos de Firefox / Chrome] busindre |
---|
===== Hacer screenshots (imagen/pdf) de páginas web desde linea de comandos ===== | ====== Hacer screenshots (imagen / PDF) de páginas web desde linea de comandos ====== |
| |
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 | 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 |
| |
==== Usando firefox y Chrome/Chromium==== | ===== Usando Firefox y Chrome/Chromium ===== |
| |
**URL Screenshot en imagen**: | **URL Screenshot en imagen**: |
Firefox no necesita de parámetros extra ni código extra para tomar una screenshot completa de una web, independientemente de la estructura de la página. | 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># Opciones de linea de comando: https://wiki.mozilla.org/Firefox/CommandLineOptions | <code bash># Si no se especifica la ruta, la salida siempre será en screenshot.png. |
firefox -screenshot "https://XXX/"</code> | 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. | Chrome/Chromium permite hacer screenshots, pero actualmente (2024) necesita de código extra si se quiere tener una captura completa de la página. |
| |
| |
**URL Screenshot en pdf** | **URL Screenshot en pdf (Chrome / Chromium)**: |
| |
Firefox no soporta todavía screenshots en PDFs. | Firefox no soporta todavía screenshots en PDFs. |
<code bash>chromium --headless --print-to-pdf "https://XXX/"</code> | <code bash>chromium --headless --print-to-pdf "https://XXX/"</code> |
| |
Descargar código html de una página (Estilo Curl): | **Descargar código html de una página (Chrome / Chromium)**: |
<code bash>chromium-browser --headless --dump-dom "https://XXX/"</code> | <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!) ==== | ===== 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. | [[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. |