Python 中的 Ghost 未截取全分辨率浏览器屏幕截图

Ghost in Python isn't taking full resolution browser screenshots

Windows7/Python2.6

我正在尝试获取完整的浏览器屏幕截图,然后使用 pillow 来比较图像。我已经开始使用 Ghost 来截取屏幕截图,因为我似乎无法 Selenium/PhantomJS 在无头模式下截取完整的浏览器屏幕截图。当我使用 Ghost 截取屏幕截图时,图像的分辨率类似于 780x8000,甚至我认为我将视口大小设置为 1920x680(只是在使用枕头时测试分辨率大小)。遗憾的是我无法分享屏幕截图,但这里只是一小段代码。

from ghost import Ghost
self.ghost = Ghost(viewport_size=(1920,680))
self.ghost.open('someurl')
self.ghost.capture_to('somedir')

截取屏幕截图后,图像显示了网页中的所有项目,但在布局的 1000 像素宽断点处。

谁能解释一下如何使用 ghost 或可能的其他 python 软件包在 1920x"PageHeight" 获取屏幕截图的预期结果?

我找到了解决方法,即不在构造函数中设置视口大小,而是使用 set_viewport_size(x,y) 方法。

如果您调用

,您应该可以使用 selenium+phantomjs 进行无头屏幕截图
driver.set_window_size(x, y)

然后

driver.get_screenshot_as_file( "/path/to/img.png" )