J'ai étudié comment automatiser les captures d'écran sous Windows. (Utilisez Python cette fois)
PIL(Pillow)Installation de
$ pip install Pillow
Il y avait aussi un pyscreenshot, mais pour Windows, l'implémentation est la même car il utilise PIL en interne après tout.
Installer pyscreenshot
$ pip install pyscreenshot
Exemple de capture d'écran avec PIL
from PIL import ImageGrab
# full screen
ImageGrab.grab().save("PIL_capture.png ")
#Découpage dans la zone spécifiée
ImageGrab.grab(bbox=(100, 100, 200, 200)).save("PIL_capture_clip.png ")
Avec l'implémentation ci-dessus, vous pouvez effectuer une capture d'écran, un découpage et une sortie en plein écran. Puisque PIL est multifonctionnel, il prend également en charge le traitement d'image et l'enregistrement dans un autre format (jpeg, etc.), mais je pense que vous devriez le vérifier séparément.
Cependant, il y avait deux problèmes avec cette implémentation.
The ImageGrab Module pyscreenshot 0.4.2 : Python Package Index
C'est un problème que l'application PIL ne peut pas être spécifiée, mais si vous souhaitez spécifier un navigateur Web, il semble y avoir un moyen d'utiliser Selenium. (Non vérifié car il ne correspond pas à mon cas d'utilisation)
Capture d'écran avec Selenium (édition Python) --Qiita Faites fonctionner Firefox avec Selenium à partir de python et enregistrez les captures d'écran --Qiita How to take partial screenshot with Selenium WebDriver in python? - Stack Overflow
Une autre façon de faire une capture d'écran de n'importe quelle application est d'utiliser pywinauto
.
Installation de pywinauto
$ pip install pywinauto
Exemple d'utilisation de pywinauto
# coding: UTF-8
from pywinauto import application
from time import sleep
app = application.Application().start("notepad.exe")
sleep(1)
app[u'Sans titre.*Bloc-notes'].CaptureAsImage().save('window.png')
Vous avez maintenant une capture d'écran de n'importe quelle application (Notepad dans l'exemple). En guise de mise en garde, CaptureAsImage ne récupère pas directement le tampon de dessin, il semble qu'il ne coupe que la zone où se trouve la fenêtre, et dans l'exemple ci-dessus, c'est avant le démarrage à moins que Sleep ne soit inséré. La capture est terminée.
Pywinauto - pywinauto What is pywinauto — pywinauto 0.6.0 documentation Cliquez sur le menu GUI dans pywinauto: Salaryman, PC et moi
Recommended Posts