LoginSignup
4
6

Pythonでキーボードを操作するPyAutoGUIによる自動操作マニュアル

Last updated at Posted at 2023-10-27

Pythonでキーボードを操作するPyAutoGUIによる自動操作マニュアル

PyAutoGUIは、Pythonからマウスやキーボードを自動操作できるライブラリです。

キー入力やマウスを使ったコンピューターの操作手法をGUIといいます。
いま行っている画面操作がそうですね。

PyAutoGUIでは、このGUI操作をコンピュータに自動的に実行させることができます:computer:

PyAutoGUIを使うにはインストールが必要

〇前提条件
 Pythonの開発環境があること

まだPythonの開発環境がない方は以下の記事で、簡単に導入できます↓

PyAutoGUIを使うには、プログラム実行前にライブラリのインストールが必要になります。

terminal
pip install pyautogui

Windowsの場合、上記のインストールを済ませてからプログラムを実行します。

terminal
pip install pyobjc-core
pip install pyobjc

Macの場合、さらに2つのライブラリも追加でインストールしておきます。

キーボードを操作する関数

キーボードを操作するために使用する関数です。

メソッド 説明
pyautogui.press() キーボードの()を押す
pyautogui.typewrite() キーボードの()を順番にタイピング
pyautogui.hotkey() キーボードの()を同時に押す
pyautogui.keyDown() キーボードの()を押したままにする
pyautogui.keyUp() キーボードの()を離す

キーボードを操作する関数のイメージ

  • pyautogui.press(‘キー’)は、キーボード上の指定したキーを1つ押す関数です。
  • pyautogui.hotkey(‘キー1′,’キー2’)は、キーボードの複数のキーを同時押しできます。
  • pyautogui.typewrite(‘文字列’)は、1文字以上の文字列を入力できます。

以下は、PyAutoGUIを使用して各キーを操作する際に使用できる表現です。

キー 表現
英字 'a', 'b', 'c', 'd', ...
英数字 '1', '2', '3', '4', ...
Ctrlキー 'ctrlleft', 'ctrlright'
Shiftキー 'shiftleft', 'shiftright'
Enterキー 'enter', 'return', '\n'
Spaceキー 'space'
Backspaceキー 'backspace'
Deleteキー 'delete'
Altキー 'altleft', 'altright'
Tabキー 'tab', '\t'
Escキー 'esc'
Homeキー 'home'
Endキー 'end'
Pauseキー 'pause'
CapsLockキー 'capslock'
NumLockキー 'numlock'
Insertキー 'insert'
PrintScreenキー 'printscreen'
Windowsキー 'winleft', 'winright'
PageUpキー 'pageup'
PageDownキー 'pagedown'
矢印キー(↑↓←→) 'up', 'down', 'left', 'right'
Functionキー 'f1', 'f2', 'f3', ... 'f12'
Volumeキー 'volumeup', 'volumedown', 'volumemute'

簡単なプログラム例

わかりやすく書いてみたプログラムの例です。

上から順番に実行されていきます。

search.py
import pyautogui  # PyAutoGUIライブラリをインポート
import pyperclip  # pyperclipライブラリをインポート(クリップボード操作用)
import time  # timeモジュールをインポート(時間待機用)

# ユーザーに検索クエリを入力するように要求
input_string = input("explorer search:")

# 入力されたクエリをクリップボードにコピー
pyperclip.copy(input_string)

# ウィンドウズキー(Winキー)と「s」を組み合わせて、Windowsの検索ボックスを開く
pyautogui.hotkey('winleft', 's')

# "explorer" というテキストを検索ボックスに入力
pyautogui.typewrite('explorer')

# Enterキーを押して、検索を実行
pyautogui.hotkey('enter')

# 5秒間待機(検索結果が表示されるのを待つため)
time.sleep(5)

# Ctrl+Vを使ってクリップボードの内容(ユーザーが入力した検索クエリ)を貼り付け
pyautogui.hotkey('ctrl', 'v')

# Enterキーを押して、クエリを実行
pyautogui.hotkey('enter')

# 2秒間待機
time.sleep(2)

# Tabキーを2回押して、最初の検索結果にフォーカスを当て、Enterキーを押して選択
pyautogui.hotkey('tab', 'tab')
pyautogui.hotkey('enter')

プログラム実行方法

  • コマンドプロンプトから実行
  • マウスでファイルを選択して実行

今回はマウスでファイルを選択して実行します。


プログラムが実行されると以下のウィンドウが表示されます。

input_string = input("explorer search:") //ユーザーに検索クエリを入力するように要求

image.png

「weather」と入力してみます。

pyperclip.copy(input_string) //入力されたクエリがクリップボードにコピーされます

image.png

pyautogui.hotkey('winleft', 's') //ウィンドウズキー(Winキー)と「s」を組み合わせて、Windowsの検索ボックスが開きます

image.png

pyautogui.typewrite('explorer') //"explorer" というテキストを検索ボックスに入力

image.png

pyautogui.hotkey('enter') //Enterキーを押して、検索を実行
time.sleep(5) //5秒間待機(検索結果が表示されるのを待つため)

image.png

pyautogui.hotkey('ctrl', 'v') //Ctrl+Vを使ってクリップボードの内容(weather)を貼り付け
pyautogui.hotkey('enter') //Enterキーを押して、クエリを実行
time.sleep(2) //2秒間待機

image.png

pyautogui.hotkey('tab', 'tab') //Tabキーを2回押して、最初の検索結果にフォーカスを当てる
pyautogui.hotkey('enter') //Enterキーを押して選択されます

image.png

一番上に検索結果がきたウェザーニュースが表示されました。

image.png

少しキャプチャではわかりにくい部分もあると思いますが、誰かの参考になればと思います:smile:

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6