【自動化】マウスもキーボードも使わずに画面を操作する?!【PyAutoGUI】

プログラミング
スポンサーリンク

スポンサーリンク

はじめに

どーも、学生エンジニアのゆうき(@engineerblog_Yu)です。

突然ですが超能力者になりたい人はいませんか??

私は本気でなりたいと思っています。

昔マジックなどで友達を驚かせるのが大好きでした。

みなさんもなれるものならなってみたいですよね?(笑)

ここでそんな超能力者になりたいみなさんに朗報です。

実は今回の記事を読めば誰でも超能力者になれます!!!

なんとPCに触れずにPCを操作することができるのです!

というわけで今回はPythonでマウスもキーボードも使わずにPCを動かす方法について紹介していきたいと思います。

今回の記事は

  • 超能力者になりたい方
  • 日々の定型的な業務を自動化したい方
  • めんどくさがりの方

そんな方に特におすすめの記事となっています。

今回紹介するPyAutoGUIというライブラリを用いればコードを実行するだけでPCを触らなくてもエクセルなどのPC操作ができるようになります。

何度も使われる操作はコードとして残しておけば次に同じ操作をするときにプログラムを回せば一瞬で同じ操作を行うことができて、便利です。

Pythonの案件をこなしたい方やPythonを扱って作業を短縮化したい方はみておいて損はない内容となっています。

(今回私はJupiterNotebookを用いてPyAutoGUIを扱っています。)

PyAutoGUIのインストール

まずはJupyterNotebookを用いてこちらのコードを打ち込んであげますしょう。

!pip install pyautogui

このコードを打ち込めばPyAutoGUIをインストールすることができます。

ターミナルでインストールするなら「!」マークを無くしてあげれば大丈夫です。

スポンサーリンク

PyAutoGUIを使うための設定

※PyAutoGUIがうまく動いた方は読み飛ばしてもらって結構です。

システム環境設定→セキュリティとプライバシー→アクセシビリティ→ロックを解除→iTermにチェックを入れる→ロックをかける

からiTermの許可をしてあげましょう。

それでは具体的な使い方を紹介していきたいと思います。

PyAutoGUIをインポートする

あとから使うのでtimeライブラリも同時にimportしてあげます。

import pyautogui as pgui
import time

マウスの現在位置を取得する

pgui.position()

Point(x=1929,y=20)のようにマウスの現在位置を出力してくれます。

画面サイズを取得する

pgui.size()

Size(width=1440,height=900)と画面サイズを出力してくれます。

指定した場所をクリックする

こちらのコードを実行すると(x,y)=(190,12)の位置を1秒かけてクリックするという操作が自動で行われます。

pgui.click(x=190,y=12,duration=1)

pgui.click()と併用してマウスの現在位置を取得してからその位置をクリックするようx座標とy座標を設定してあげましょう。

スクリーンショットをとる

スクリーンショットを自動で撮ることもできます。

pgui.screenshot('写真名')

範囲を指定することもできます。

pgui.screenshot('写真名',region=(0,100,100,200))

こちらは少し複雑なのですが(0,100)という場所から横に100、縦に200の部分をスクリーンショットするというコードになっています。

テキスト入力

テキストを入力することもできます。

上記のpgui.click()などでテキストが入力できる状態になってからpgui.write()を使ってあげましょう。

pgui.write('テキストの内容',0.3)

テキストの内容の後で何秒かけて文字を打ち込むか指定することができます。

上記のコードはテキストの内容を0.3秒ごとに文字を打ち込んでいく操作になっています。

キー入力を自動化する

pgui.hotkey('キー名')

とするとキーボードのキーを自動で打ってくれます。

例えば

pgui.hotkey('return')

としてあげるとreturnキーを打ってくれます。

このように複数選択することもできます。

pgui.hotkey('option','down')
スポンサーリンク

処理が見えにくいとき

time.sleep(0.8)

処理が見えにくいときはtimeライブラリのsleepを挟んで処理の間の時間を設けてあげましょう。

以上がPyAutoGUIを用いた自動化の方法となっています。

これらのメソッドを組み合わせれば日々の単純作業やエクセルの自動化をすることができます。

実践的にエクセルの自動化を勉強したい方や動画でわかりやすく勉強したい方はこちらのYoutube動画がおすすめです。

インストールから実践的な使い方まで丁寧に解説してくれています。

どうだったでしょうか?

自分の業務にあったコードを一度作成することができればあなたも晴れて超能力者の仲間入りです。(笑)

最後に今回の記事を読んでPythonをしっかり勉強したくなった上級者のあなたにおすすめの勉強方法です。

ねこすけ
ねこすけ

今回はおまけつきにゃ。

最後に

  • プログラミングに興味があるけど何からしていいのかわからない
  • Pythonを使ったバイトやインターンなどに参加してみたい
  • 未経験でPythonエンジニアになりたい

これらに当てはまる方におすすめの講座を紹介していこうと思います。

Pythonの勉強方法【おまけ】

具体的に言うとこちらの講座です。

上記の講座を全部理解することができればすぐにPythonエンジニアとして働くことも可能です。

また大学の授業やバイト、インターンであれば、その都度必要な部分だけを見てスキルアップしていくこともできます。

私が受けたPythonの講座の中では最も良かったですし、この講座を受けるだけでPythonの案件をこなせるレベルまでプログラミングを上達させることができると思います。

実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえば酒井潤さんの上記の講座と言われているほどです。

プログラミングスキルを身につけて安定を得たい、エンジニアになりたい、プログラミングの副業をしてみたいと思っている方に特におすすめの講座です。

以下のリンクからUdemy講座を参照することができます。

自分の未来に投資しよう。サイバーセール中はUdemyコースが最大90%OFF。

しかし、Udemyがいまいち自分に合わないなと思った方もいるのではないでしょうか。

一人で勉強するのが辛くて、動画学習サービスは続く自信がない、、、。

どうせ勉強するなら何か、目標を持って学習したい

Python基礎を身につけるだけでなく、稼げる力をつけたい

これらに当てはまる方は、株式会社アイデミーが立ち上げている、オンラインプログラミングスクールAidemy Premiumがおすすめです。

Aidemy Premiumの特徴としては

3ヶ月の短期集中型の講座で、Pythonを使ったAIプログラミングを学ぶことができる

専属のメンターが学び方や進捗などを管理してくれる

完全オンライン

AIエンジニアやデータサイエンティストに興味のある方は、特におすすめのスクールです。

プログラミング初心者の方でも、AIを使った画像認識やアプリ開発なども学ぶことができます。

今なら無料オンライン相談が実施されているので、話だけでも聞いてみるのをおすすめします。

対象のサイトはこちら
ねこすけ
ねこすけ

その他の記事もおすすめにゃー。

その他の記事

おわりに

今回はマウスもキーボードも自動化できるPyAutoGUIについて紹介しました。

エクセルなどの日々の単純作業を何もせずにこなしたい方には夢がある内容で面白いのではないでしょうか。

Pythonの基礎を学び終えた方や案件を獲得したい方は勉強しておきたい内容です。

興味がある方は上記のYoutube動画やUdemyのコースを受けてみるのも良いかと思います。

noteもやっているので、ぜひフォローよろしくお願いします!

ゆうきのクリエイターページ

AI美女生成に興味がある方

Stable Diffusionを使ってAI美女を生成する方法についてもnoteで解説しています。

美女生成note

コメント

タイトルとURLをコピーしました