Selenium - 无头服务器拍摄的截图图像被破坏了

时间:2014-03-18 14:01:19

标签: python selenium webpage-screenshot pyvirtualdisplay

我正在使用selenium webdriver(Python版本)在加载后拍摄网页图像。当我在本地计算机上使用python脚本转到页面并保存图像时,它看起来很好。但是,我在服务器上运行脚本,屏幕截图被破坏 - 边缘可能会被删除,文本丢失,右侧的横幅可能会以混乱的方式被推到底部等等。我甚至尝试最大化窗口

driver.get(url)
driver.maximize_window()
time.sleep(4)
driver.save_screenshot('screen.png')

在服务器上,我无法在头版本中加载firefox,必须在运行selenium之前/之后手动启动/停止我的脚本中的显示

from pyvirtualdisplay.xvnc import XvncDisplay
display = XvncDisplay(rfbport='####')
display.start()

所以我认为这可能与我的显示器设置有关。

任何人对如何解决此问题都有任何想法?感谢

1 个答案:

答案 0 :(得分:0)

尝试使用chomium + chromedriver。它适用于我,即使我没有你描述的问题。只是一个想法。

将chromedriver下载到/ usr / local / bin https://sites.google.com/a/chromium.org/chromedriver/downloads,不要忘记chmod a+x /usr/local/bin/chromedriver

我使用了这篇博文:http://coreygoldberg.blogspot.cz/2011/07/python-taking-browser-screenshots-with.html