Python Webkit 使用虚拟帧缓冲区制作网站屏幕截图

2023-12-05

问题是我需要在不运行 X 服务器的情况下捕获网站屏幕截图。

因此理论上可以创建一个虚拟帧缓冲区并使用它来捕获屏幕截图。

有没有类似的解决方案,任何建议,将不胜感激?

Sultan


您可以结合使用 Selenium WebDriver 和 pyvirtualdisplay(使用 xvfb)在虚拟显示器中运行浏览器并捕获屏幕截图。

所以,您需要的设置是:

  • Selenium Python 绑定
  • pyvirtualdisplay Python包(依赖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()

这会:

  • 启动虚拟显示
  • 启动火狐浏览器
  • 导航至 google.com
  • 截取屏幕截图
  • 关闭浏览器
  • 停止虚拟显示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Webkit 使用虚拟帧缓冲区制作网站屏幕截图 的相关文章

随机推荐