Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python】pyautoguiを使用したマウスの操作方法




前回はpyautoguiというライブラリを使用してキーボード入力する方法を紹介しましたが、pyautoguiはマウス操作もできますのでその紹介になります

 

 

 

目次

 

はじめに、前回同様pyautoguiのインストール方法を載せておきます。

 

1.pyautoguiのインストール

 

pyautoguiのインストールはコマンドプロンプトで以下のようなコマンドを実行することでできます。

 

pip install pyautogui

 

Python3.4以上なら標準で付属しています。

インストールされているかどうかの確認はコマンドプロンプトで「pip list」と実行することで確認できます。

 

>pip list
Package                   Version
------------------------- ---------
packaging                 21.3
pandas                    1.4.1
pip                       22.0.3
PyAutoGUI                 0.9.53
pyinstaller               5.1

 

 

2.マウスの位置の取得

 

 

pyautoguiを使用してマウスの位置を取得する場合には、position()を使用します。

以下が使用例です。

 

import pyautogui
# マウスの位置を取得 position = pyautogui.position() print(position)

 

これにより、マウスの位置が取得されてたとえば以下のように表示されます。

 

Point(x=1327, y=458)

 

 

3.画面サイズの取得

 

同様に、画面サイズを取得する場合には、size()を使用します。

以下が使用例です。

 

import pyautogui

# 画面サイズを取得
size = pyautogui.size()
print(size)

 

これにより、画面サイズが取得されてたとえば以下のように表示されます。

 

Size(width=1920, height=1080)

 

 

4.マウスの移動(絶対座標)

 

また、マウスの位置を移動させる場合には、moveTo()を使用します。

絶対座標(300,200)に移動させる場合には以下のようにします。

 

import pyautogui

# マウスを移動させる(絶対座標へ移動)
pyautogui.moveTo(300, 200)

 

これにより、瞬時に絶対座標(300,200)に移動します。

 

時間をかけて移動させたい場合には、duration=を指定します。

3秒かけて絶対座標(300,200)に移動させる場合には以下のようにします。

 

import pyautogui

# マウスを移動させる(絶対座標へ移動, duration=移動時間(秒数))
pyautogui.moveTo(300, 200, duration=3)

 

 

5.マウスの移動(相対座標)

 

絶対座標ではなくて相対座標で移動させたい場合には、moveRel()またはmove()を使用します。

以下ではマウスの位置が今いる場所から相対座標で(100,100)移動します。

 

import pyautogui
# マウスを移動させる(相対座標へ移動) pyautogui.moveRel(100, 100)

 

同様のことはmove()を使用して以下でも実現できます。

 

 

import pyautogui
# マウスを移動させる(相対座標へ移動) pyautogui.move(100, 100)

 

 

6.マウスのクリック

 

マウスをクリックする場合には、以下のようにclick()を使用します。

 

import pyautogui

# クリック
pyautogui.click()

 

また、以下のようにx,y座標、クリック数、クリック間のインターバル回数、クリックボタンの選択(右or左)を指定することもできます。

 

 

import pyautogui

# x=x座標、y=y座標、click=クリック回数、interval=クリック間の秒数、button=右クリックor左クリック指定
pyautogui.click(x=700, y=700, clicks=1, interval=1, button="Right")

 

ダブルクリックの場合には、以下のように指定します。

 

import pyautogui

# クリック
pyautogui.doubleClick()

 

さらに、mouseDown()、mouseUp()によりマウスをクリックして押したままにしたり、押されたマウスを離す操作もできます。

 

import pyautogui

# 左クリックを押す(押したまま)
pyautogui.mouseDown(button='left')

# 左クリックを離す
pyautogui.mouseUp(button='left')

 

 

7.マウスのドラッグ

 

ドラッグする場合には、dragTo()を使用します。

以下の例では、(300,500)まで5秒かけてドラッグします。

 

import pyautogui

# 絶対座標 x=300, y=500 まで5秒かけてドラッグ
pyautogui.dragTo(300, 500, duration=5)

 

同様に相対座標でドラッグさせる場合にはdragRel()を使用します。

 

import pyautogui

# 現在の位置から相対座標で xを100, yを100 5秒かけてドラッグ
pyautogui.dragRel(100, 100, duration=5)

 

 

以上が、pyautoguiを使用した主なマウスの操作の説明になります。

 

 

 

 

 
 
 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python】Python、Selenium関連情報一覧(ダウンロード、インストール手順、各種やり方、使い方など) - Django Girls and Boys 備忘録

 

【Python Selenium(初心者向け)】PythonのインストールからWebサイトへのアクセスまで含めた簡単なスクレイピングを行うための一通りの手順 - Django Girls and Boys 備忘録

 

【Python】pipのバージョン確認、インストールとアップデート方法 - Django Girls and Boys 備忘録

 

【Python】range、break、continue、スライスによる範囲指定などfor文の基本的な使用方法 - Django Girls and Boys 備忘録

 

【Python】スライスによる範囲指定などスライスの使用方法 - Django Girls and Boys 備忘録

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法 - Django Girls and Boys 備忘録

 

【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiを使用したマウスの操作方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiによるキーボード操作、キー入力方法 - Django Girls and Boys 備忘録

 

【Python】Seleniumで新しいタブを開く方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルからのデータの読み込み方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルへのデータの書き込み方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録