しょっちゅう忘れることを書いておく。
![]() |
66 |
186 views
こんにちは!今日は、PC作業を効率化したいPython初心者の皆さんに「これは便利!」と思えるライブラリ、pyautoguiをご紹介します。いつも繰り返しやっているマウス操作やキーボード入力をPythonで自動化できたら、かなり作業が楽になりますよね。自分のPCがまるで「勝手に動いてくれる!」と感じるこの便利さ、一度体験するとクセになりますよ!
pyautoguiは、Pythonを使ってマウスやキーボードを自由に制御できるライブラリです。例えば、毎日決まった作業を手動でやるのは面倒…なんてことはありませんか?そんな時、このpyautoguiが大活躍!自動化に使えるため、効率アップにもつながります。
以下のコマンドを使って簡単にインストールできます。
pip install pyautogui
さあ、準備ができたら早速いきましょう!
まずはマウス操作から!画面上でマウスを動かす基本コードはこちらです。
import pyautogui
# 画面のサイズを取得
screen_width, screen_height = pyautogui.size()
# 左上から右下へゆっくり移動
pyautogui.moveTo(screen_width, screen_height, duration=1)
duration
オプションを使えば、動作速度も変えられるので、カーソルがスッと動く感じに。自動操作とはいえ、意外と見てるだけでも楽しいです!
次はクリック操作!指定した場所を自動でクリックさせるのも簡単です。
# 画面中央をクリック
pyautogui.click(screen_width / 2, screen_height / 2)
ダブルクリックや右クリックもこの通り!一度設定しておけば、マウス操作が自動化されて、作業の手間がグンと減ります。
次は、キーボード入力の自動化です。「Hello, World!」をサッと入力してみましょう。
# 文字を入力
pyautogui.write("Hello, World!")
あっという間にテキスト入力が完了!さらに、EnterやTabといった特殊キーも使えます。
# Enterキーを押す
pyautogui.press('enter')
例えば、複数のキーを組み合わせて「Ctrl+C」のコピー操作を実行する場合も、pyautogui.hotkey
を使えばラクラクです。
# Ctrl+C(コピー操作)
pyautogui.hotkey('ctrl', 'c')
次に、画像認識機能です。pyautogui
を使えば、指定の画像を探してその位置をクリックさせることも可能です!こんなコードで使います。
# 指定した画像が見つかったらその場所をクリック
location = pyautogui.locateOnScreen('button.png')
if location:
pyautogui.click(location)
else:
print("画像が見つかりませんでした")
画面上に出現した「特定のボタン」をクリックしたり、アイコンを探して操作したりできるのは、かなり便利ですよね!ただ、画像認識の精度は環境や画面解像度に左右されることもあるので、少しコツが必要です。
最後に、実用的な例としてスクリーンショットを定期的に撮影して保存する方法を見てみましょう。例えば、作業を自動でモニタリングしたい時に使えます!
import time
# スクリーンショットを撮影して保存
for i in range(5): # 5回撮影
screenshot = pyautogui.screenshot()
screenshot.save(f'screenshot_{i}.png')
print(f'screenshot_{i}.pngを保存しました')
time.sleep(10) # 10秒間隔で撮影
このスクリプトでは、10秒おきにスクリーンショットを5回撮影して保存しています。試しにやってみると、操作が自動で進むのが見ていて楽しく、また新しいアイデアが湧いてくるかもしれません!
いかがでしたか?pyautoguiを使うと、初心者でも簡単にPC操作を自動化できることが分かりましたね。基本的な操作ができるようになれば、自分だけの自動化スクリプトを作って、日常のPC操作をどんどん効率化できます!まずは簡単な操作から、ぜひ試してみてくださいね。
Page 64 of 69.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/