Python を使用したマウスとキーボードの自動化
この記事では、次を使用してマウスとキーボードの動きを自動化する方法を説明します。 pyautogui Pythonのモジュール。このモジュールには Python がプリロードされていません。したがって、それをインストールするには、次のコマンドを実行します。
pip3 install pyautogui
pyautoguiモジュールを使用したマウスの動きの制御
Python は、画面の座標系を使用してマウスを追跡および制御します。画面の解像度が 1920X1080 であると仮定すると、画面の座標系は次のようになります。
Python
import pyautogui print ( pyautogui . size ())
このファイルを .py 拡張子を付けて保存し、ファイルを実行します。
この Python コードは、size() 関数を使用して、画面解像度を x y 形式で出力します。
出力:
(1920 1080)
注: この記事で提供されているコードの一部は、geeksforgeeks IDE にはこれらのコードを実行するために必要なモジュールがないため、geeksforgeeks IDE では実行できない可能性があります。ただし、Python をインストールし、記事に記載されている手順に従うことで、これらのコードを PC 上でローカルに簡単に実行できます。
Python
import pyautogui pyautogui . moveTo ( 100 100 duration = 1 )
このコードは、x 座標と y 座標とオプションの期間引数を受け取る moveTo() 関数を使用します。この関数は、マウス ポインタを現在の位置から X Y 座標に移動し、その移動には、duration 引数で指定された時間がかかります。この Python スクリプトを保存して実行すると、マウス ポインタが魔法のように現在の位置から座標 (100 100) に移動するのが確認できます。このプロセスには 1 秒かかります。
Python
import pyautogui pyautogui . moveRel ( 0 50 duration = 1 )
このコードは、マウス ポインタを元の位置に対して相対的に (0 50) に移動します。たとえば、コードを実行する前のマウスの位置が (1000 1000) であった場合、このコードはポインタを 1 秒間で座標 (1000 1050) に移動します。
Python
import pyautogui print ( pyautogui . position ())
出力: プログラムの実行時にマウスが置かれていた座標。
Python
import pyautogui pyautogui . click ( 100 100 )
このコードは、位置 (100 100) で通常のマウス クリックを実行します。
マウスのドラッグ操作に関連する2つの機能があります ドラッグToとドラッグRel 。これらは、移動中にマウスの左ボタンを押したままにすることでドラッグを開始することを除いて、moveTo および moveRel 関数と同様に実行します。
この機能は、ダイアログ ボックスを移動したり、MS ペイントの鉛筆ツールを使用して自動的に描画したりするなど、さまざまな場所で使用できます。ペイントで正方形を描くには:
import time # a module which has functions related to time. # It can be installed using cmd command: # pip install time in the same way as pyautogui. import pyautogui time . sleep ( 10 ) # makes program execution pause for 10 sec pyautogui . moveTo ( 1000 1000 duration = 1 ) # moves mouse to 1000 1000. pyautogui . dragRel ( 100 0 duration = 1 ) # drags mouse 100 0 relative to its previous position # thus dragging it to 1100 1000 pyautogui . dragRel ( 0 100 duration = 1 ) pyautogui . dragRel ( - 100 0 duration = 1 ) pyautogui . dragRel ( 0 - 100 duration = 1 )
コードを実行する前に、鉛筆ツールを選択してバックグラウンドで MS ペイントを開きます。ここでコードを実行し、10 秒前に MS ペイントにすばやく切り替えます (プログラムを実行する前に sleep() 関数を使用して 10 秒の一時停止時間を与えているため)。
10 秒後、MS ペイントで左上のエッジが 1000 1000、エッジの長さが 100 ピクセルの正方形が描画されていることがわかります。
Python
import pyautogui pyautogui . scroll ( 200 )
このコードは、アクティブな画面を最大 200 ピクセルまでスクロールします。
Python
import pyautogui pyautogui . click ( 100 100 ) pyautogui . typewrite ( 'hello Geeks !' )
画面上の座標 100 100 にテキスト フィールドが存在すると仮定すると、このコードはテキスト フィールドをクリックしてアクティブにし、「hello Geeks!」と入力します。その中で。
Python
import pyautogui pyautogui . typewrite ([ 'a' 'left' 'ctrlleft' ])
このコードは、左矢印キーを押しながら「a」を入力し、左 Control キーを押すことと自動的に等価です。
Python
import pyautogui pyautogui . hotkey ( 'ctrlleft' 'a' )
このコードは、左 Ctrl と 'a' を同時に押すことと自動的に等価です。したがって、ウィンドウでは、これにより、画面上に存在するすべてのテキストが選択されることになります。
例:
WhatsApp でメッセージを送信し、全員に自動的にメッセージを削除します。これを実行するには、Chrome で Whatsapp をすでに開いている必要があります。このコードを実行した後、Chrome で WhatsApp タブを開きます。
Python3 import pyautogui as pg import time def delete_for_everyone (): pg . click ( 807 979 ) pg . typewrite ( 'hello' ) pg . typewrite ([ 'enter' ]) time . sleep ( 2 ) pg . click ( 1621 896 ) pg . click ( 1621 896 ) # time.sleep(1) pg . click ( 1693 859 ) # time.sleep(1) pg . click ( 1014 669 ) # time.sleep(1) pg . click ( 1111 605 ) a = 20 time . sleep ( 10 ) while ( a != 0 ): delete_for_everyone () a = a - 1
クイズの作成