A veces nos resulta necesario hacer una comprobación visual y automática del estado de una página web.
Se puede hacer de muchas maneras. En este ejemplo, vamos a usar la consola de linux. En mi caso, un ubuntu sin entorno gráfico puesto.
Necesitamos instalar Selenium y el chrome driver. Juntos nos proporcionan una forma muy rápida y eficaz de hacer estas fotos.
Instalamos Selenium. Un software que nos puede valer para testear nuestros proyectos web.
pip install -U selenium
Ahora instalamos el chrome driver que básicamente es un navegador desde el cual se hace la foto. Nos renderiza la url que le enviemos.
sudo apt-get install chromium-chromedriver
Creamos el fichero makeImg.py con este código:
#coding=utf-8 >
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.headless = True
driver = webdriver.Chrome(options=options)
URL = 'https://avanzaweb.net'
driver.get(URL)
S = lambda X: driver.execute_script('return document.body.parentNode.scroll'+X)
driver.set_window_size(S('Width'),S('Height')) # May need manual adjustment >
driver.find_element_by_tag_name('body').screenshot('avanzaweb.png')
driver.quit()
Cambiando avanzaweb por la url y nombre de imagen de vuestro agrado tenemos la imagen generada justo en la carpeta de ejecución del script.Más sencillo imposible.