可以通过编程方式调用的Python屏幕捕获脚本?

时间:2011-09-25 22:23:09

标签: python screenshot

我想打开一个页面并抓住屏幕并使用PIL获取其平均颜色。我想打开大约100页,所以我认为使用Python的屏幕捕获脚本会很有用。我found several of them我决定使用this simple one

"""
A simple screen grabbing utility

@author Fabio Varesano - 
@date 2009-03-17
"""

from PIL import ImageGrab
import time

time.sleep(5)
ImageGrab.grab().save("screen_capture.jpg", "JPEG")

但是我需要从命令提示符运行它,然后在屏幕上显示。如何将其转换为脚本以便我可以通过编程方式调用它?或者,您认为实现这一目标的最佳方式是什么?谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用Selenium和任何浏览器:

Take a screenshot with Selenium WebDriver

这是跨平台的,适用于所有浏览器。

Selenium专为功能性网页浏览器测试而设计,但也适用于像您这样的用例。有关Python + Selenium的更多信息:

http://pypi.python.org/pypi/selenium

Selenium的好处在于您可以对浏览器进行微调控制 - 您可以单击按钮,执行Javascript,无论您想要什么,浏览器不再是黑盒子。

答案 1 :(得分:1)

This solution似乎在执行屏幕抓取之前将浏览器置于前台,完全符合您的要求。只需将'firefox'替换为'chrome'

即可