Pythonでスクリーンショットを撮る方法
提供: Python入門
スポンサーリンク
Pythonのpyautogui(PyAutoGui)モジュールを使用すると簡単にスクリーンショットを撮ることができます。
読み方
- PyAutoGui
- ぱい おーと じーゆーあい
目次
概要
pyautogui は、クロスプラットフォームの GUI 自動化 Python モジュールです。プログラマティックにマウスとキーボードをコントロールします。 いろいろなことをプログラムから実行できます。
- キーボードのイベントを送信できる
- マウスのイベントを送信できる
- アラートを表示できる
pyautoguiを利用して、スクリーンショットを取得することもできます。
Linux, MacOS, Windows などの環境で利用できます。
XLibを使ってプログラミングして、Xのイベントで遊んだことがある方なら想像されていると思いますが、Linuxであれば、XLibを利用して操作します。
インストール
sudo apt install python-xlib scrot pip install pyautogui
ソースコード
#! /usr/bin/env python # -*- coding: utf-8 -*- # vim:fenc=utf-8 # # Copyright © 2015 kaoru <kaoru@bsd> import pyautogui s = pyautogui.screenshot() s.save('screenshot1.png')
実行例
カレントディレクトリに png ファイルが作成されます。
$ python pyautogui_screenshot1.py
エラー
ImportError: No module named Xlib.display
ImportError: No module named Xlib.display
がでたら python-xlib をインストールします。
sudo apt install python-xlib
NotImplementedError: "scrot" must be installed...
<class 'Xlib.protocol.request.QueryExtension'> Traceback (most recent call last): File "pyautogui_screenshot1.py", line 7, in <module> s = pyautogui.screenshot() File "/usr/local/lib/python2.7/dist-packages/pyscreeze/__init__.py", line 220, in _screenshot_linux raise NotImplementedError('"scrot" must be installed to use screenshot functions in Linux. Run: sudo apt-get install scrot') NotImplementedError: "scrot" must be installed to use screenshot functions in Linux. Run: sudo apt-get install scrot
がでたら scrot をインストールします。
sudo apt install scrot
関連項目
ツイート
スポンサーリンク