Скрипт захвата экрана Python, который может быть вызван программно? - PullRequest
1 голос
/ 26 сентября 2011

Я хочу открыть страницу, захватить экран и получить его средний цвет с помощью 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 ]

4 голосов
/ 26 сентября 2011

Вы можете использовать Selenium и любой браузер:

Сделайте снимок экрана с Selenium WebDriver

Это кроссплатформенный, работает на любом браузере.

Selenium предназначен для функционального тестирования веб-браузера, но также подходит для таких случаев, как ваш. Больше информации о Python + Selenium:

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

Преимущество Selenium заключается в том, что вы точно настраиваете управление браузером - вы можете нажимать кнопки, запускать Javascript, что угодно, и браузер больше не является черным ящиком.

1 голос
/ 26 сентября 2011

Это решение , кажется, делает именно то, что вы хотите, выводя браузер на передний план перед выполнением захвата экрана. Просто замените «Firefox» на «Chrome»

...