PythonとpywinautoでWindowsアプリを自動化!初心者向けマウス操作ガイド

pywinautoでのマウス操作とは?

pywinautoは、Windows上のアプリケーションを自動化するためのPythonライブラリです。
pywinautoを使うと、マウスのクリックやスクロール、ドラッグなど、通常手動で行う操作をプログラムで簡単に実行できます。
本記事では、pywinautoでのマウス操作について解説していきます。

この記事で得られるもの:

  • マウス操作で使用するメソッドの使い方
  • メソッドで指定できる引数が分かる

pywinautoを使ったマウス操作の基本と詳細

pywinautoには、マウス操作を実現するための便利なメソッドが用意されています。
以下の主要なメソッドを紹介します。

  • move: マウスポインタを指定の座標へ移動
  • press: マウスボタンを押す
  • release: マウスボタンを放す
  • scroll: ホイールスクロールを実行
  • wheel_click: マウスホイールのボタンをクリック

この記事では、これらの5つのメソッドの概要、基本的な使い方、指定できる引数について紹介します。


moveメソッド

move メソッドは、マウスカーソルを指定した座標へ移動させるためのメソッドです。
クリックは行わず、カーソルの移動のみを実行するため、GUIテストや自動化においてホバー動作のシミュレーションに活用できます。

moveメソッドの基本的な使い方

move メソッドを使用してカーソルを移動させます。

【基本例】 画面上の座標(100, 200)へマウスカーソルを移動

from pywinauto import mouse

# 画面全体の座標(100, 200)へ移動
mouse.move(coords=(100, 200))

moveメソッドの引数

move メソッドには、以下の引数を指定できます。

引数 説明
coords 移動先の座標を (x, y) のタプルで指定(デフォルト: None)
duration 移動にかける時間(秒)。省略時は瞬時に移動。
absolute True(デフォルト)で画面全体の座標、Falseでウィンドウの相対座標を指定

pressメソッド

press メソッドは、マウスボタンを押し続けるためのメソッドです。
通常のクリックとは異なり、ボタンを押したままにするため、ドラッグ操作や長押しが必要な場合に役立ちます。

pressメソッドの基本的な使い方

press メソッドを使用してマウスボタンを押し続けます。

【基本例】マウス左ボタンを押し続ける

from pywinauto import mouse

# 画面座標(200, 300)でマウスの左ボタンを押し続ける
mouse.press(button='left', coords=(200, 300))

pressメソッドの引数

press メソッドには、以下の引数を指定できます。

引数 説明
button 押すボタンを指定
coords マウスを押す座標 (x, y) のタプル(デフォルト: None)

button引数では、left, right, middle を指定することが出来ます。


releaseメソッド

release メソッドは、押し続けたマウスボタンを離す(リリースする)ためのメソッドです。
press メソッドと組み合わせることで、ドラッグ&ドロップ操作などを自動化できます。

releaseメソッドの基本的な使い方

release メソッドを使用してマウスボタンを離します。

【基本例】マウス左ボタンを離す

from pywinauto import mouse

# 現在押されている左ボタンを離す
mouse.release(button='left')

releaseメソッドの引数

release メソッドには、以下の引数を指定できます。

引数 説明
button 離すボタンを指定
coords マウスボタンを離す座標 (x, y) のタプル(デフォルト: None)

button引数では、left, right, middle を指定することが出来ます。


scrollメソッド

scroll メソッドは、マウスホイールを回転させるためのメソッドです。
スクロール量を指定して、画面上のリストやWebページ、ドキュメントなどのスクロール操作を自動化できます。

scrollメソッドの基本的な使い方

まず mouse モジュールをインポートし、scroll メソッドを使用してマウスホイールを操作します。

【基本例】マウスホイールを上方向にスクロール

from pywinauto import mouse

# 3単位分スクロール(上方向)
mouse.scroll(wheel_dist=3)

【基本例】マウスホイールを下方向にスクロール

from pywinauto import mouse

# 5単位分スクロール(下方向)
mouse.scroll(wheel_dist=-5)

scrollメソッドの引数

scroll メソッドには、以下の引数を指定できます。

引数 説明
wheel_dist スクロール量を指定(正の値は上方向、負の値は下方向)
coords

スクロールを実行する座標 (x, y) のタプル(デフォルト: None)

wheel_dist引数では、正の値で上方向、負の値で下方向にスクロールします。


wheel_clickメソッド

wheel_click メソッドは、マウスホイールボタン(中央ボタン)をクリックするためのメソッドです。通常のクリックとは異なり、ブラウザのタブ操作や3Dソフトの視点操作など、ホイールクリック特有の動作を自動化できます。

wheel_clickメソッドの基本的な使い方

wheel_click メソッドを使用してマウスホイールクリックを実行します。

【基本例】マウスホイールをクリック

from pywinauto import mouse

# 現在のカーソル位置でホイールクリック
mouse.wheel_click()

wheel_clickメソッドの引数

wheel_click メソッドには、以下の引数を指定できます。

引数 説明
coords ホイールクリックを実行する座標 (x, y) のタプル(デフォルト: None)

公式ドキュメント

What is pywinauto — pywinauto 0.6.8 documentation

関連記事

RPA--PYWINAUTO
「RPA--PYWINAUTO」の記事一覧です。

コメント

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