Tomar una captura de pantalla de toda la página con Selenium Marionette en Python

Después de la reciente actualización de Firefox a la versión 47, nos vimos obligados a instalar la extensión Marionette para poder seguir usando el selenio webdriver y, en mi caso, también actualizar el selenio de 2.52 a 2.53.

Utilizo la versión python de selenium webdriver para adquirir imágenes de alta resolución de mapas renderizados en HTML y JavaScript. anteriormente esto funcionaba bien en Firefox y las capturas de pantalla podían tomarse de toda la página, mucho más allá de las dimensiones de mi propia pantalla. Sin embargo, con los cambios recientes, la captura de pantalla se toma solo del área visible en la pantalla. Yo uso el siguiente código:

import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.FIREFOX
caps["marionette"] = True

browser = webdriver.Firefox(capabilities=caps)
browser.get(html_file)
time.sleep(15)

browser.save_screenshot(image_name)
browser.quit()

Ya he considerado: degradar, unir varias capturas de pantalla o cambiar a Qgis. Sin embargo, preferiría una solución más elegante que me permitiera seguir usando la última versión de Firefox y aproximadamente la misma metodología. ¿Alguien sabe una solución para esto? ¿quizás engañando al selenio al pensar que la ventana es más grande? o utilizando otro navegador compatible con Linux que permita la captura de pantalla de la página completa?

Respuestas a la pregunta(3)

Su respuesta a la pregunta