问题是我需要在不运行 X 服务器的情况下捕获网站截图。
所以理论上可以创建一个虚拟帧缓冲区并使用它来捕获屏幕截图。
是否有任何类似的解决方案,任何建议将不胜感激?
苏丹
问题是我需要在不运行 X 服务器的情况下捕获网站截图。
所以理论上可以创建一个虚拟帧缓冲区并使用它来捕获屏幕截图。
是否有任何类似的解决方案,任何建议将不胜感激?
苏丹
您可以结合使用 Selenium WebDriver 和 pyvirtualdisplay(使用 xvfb)在虚拟显示器中运行浏览器并捕获屏幕截图。
所以,你需要的设置是:
在 Debian/Ubuntu Linux 系统上,您可以使用以下命令设置所有内容:
$ sudo apt-get install python-pip xvfb
$ sudo pip install selenium
设置完成后,以下代码示例应该可以工作:
#!/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()
这将: