我想打开一个页面并抓住屏幕并使用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")
但是我需要从命令提示符运行它,然后在屏幕上显示。如何将其转换为脚本以便我可以通过编程方式调用它?或者,您认为实现这一目标的最佳方式是什么?谢谢!
答案 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'
即可