После недавнего обновления Firefox до версии 47 мы были вынуждены установить расширение Marionette, чтобы иметь возможность использовать selenium webdriver, и в моем случае также обновить селен с 2,52 до 2,53.
Я использую версию selenium webdriver для python для получения изображений с высоким разрешением карт, отображаемых в HTML и JavaScript. ранее это отлично работало в firefox, и скриншоты могли быть взяты из всей страницы, далеко за пределы моего собственного экрана. Однако с недавними изменениями снимок экрана занимает только область, видимая на экране. Я использую следующий код:
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()
Я уже рассмотрел: понижение, сшивание нескольких скриншотов или переход на Qgis. Однако я предпочел бы более элегантное решение, которое позволило бы мне использовать последнюю версию firefox и примерно такую же методологию. Кто-нибудь знает решение этого? возможно, обманывая селен, думая, что видовой экран больше? или с помощью другого поддерживаемого linux браузера, который позволяет полностью скриншот страницы?