Python Webkit haciendo capturas de pantalla de sitios web utilizando framebuffer virtual

El problema es que necesito capturar capturas de pantalla del sitio web sin ejecutar el servidor X.

Entonces, en teoría, es posible crear un búfer de marco virtual y usarlo para capturar capturas de pantalla.

¿Hay soluciones similares, algún consejo sería apreciado?

Sultán

puede usar una combinación de Selenium WebDriver y pyvirtualdisplay (que usa xvfb) para ejecutar su navegador en una pantalla virtual y capturar capturas de pantalla.

Por lo tanto, la configuración que necesita es:

  • Selenium python bindings
  • Pyvirtualdisplay paquete de Python (depende de xvfb)

En los sistemas Debian / Ubuntu Linux, puede configurar todo con:

  • $ sudo apt-get install python-pip xvfb
  • $ sudo pip install selenium

Una vez que lo tengas configurado, el siguiente ejemplo de código debería funcionar:

 #!/usr/bin/env python from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() browser = webdriver.Firefox() browser.get('http://www.google.com') browser.save_screenshot('screenie.png') browser.quit() display.stop() 

esta voluntad:

  • lanzar una pantalla virtual
  • lanzar el navegador Firefox
  • navega a google.com
  • capturar una captura de pantalla
  • cierra el navegador
  • detener la pantalla virtual