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

2 投票
2 回答
6911 浏览
提问于 2025-04-17 03:04

我想打开一个网页,然后截取屏幕,获取它的平均颜色,使用的是PIL这个库。我打算打开大约100个网页,所以我觉得用Python写个屏幕捕捉的脚本会很有用。我找到了几个这样的脚本,最后决定用这个简单的脚本

"""
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 个回答

1

这个解决方案看起来正好满足你的需求,它会在截屏之前把浏览器调到最前面。只需要把'firefox'换成'chrome'就可以了。

4

你可以使用Selenium和任何浏览器来实现这个功能:

用Selenium WebDriver截屏

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

Selenium是专门为网页浏览器的功能测试设计的,但也适合像你这样的使用场景。关于Python和Selenium的更多信息:

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

Selenium的好处在于你可以精确控制浏览器——你可以点击按钮、执行Javascript,随心所欲,浏览器不再是一个黑箱子。

撰写回答