Python pyautoguiモジュール-マウスキーボードの自動化を実現


本稿では、Pythonのpyautoguiモジュールを用いてマウスの自動移動とキーボードの自己入力を実現する方法を簡単に紹介する.このモジュールはPythonが付属していないため、以下のコマンドを実行してインストールします.
123 # pyautogui p_w_picpath , p_w_picpath ImportError: No module named 'PIL' pip install p_w_picpath pip install pyautogui
公式ドキュメントの紹介:https://pyautogui.readthedocs.io/en/latest/
pyautoguiモジュールを使用してマウスの移動を制御する
  • size():画面解像度を取得する
  • 123 import   pyautogui   print (pyautogui.size())
  • moveTo():マウスの移動に使用
  • 1 pyautogui.moveTo( 100 , 100 ,duration = 1 )
    このコードはmoveTo()関数を呼び出し、x,y座標をパラメータとして受け入れ、オプションの持続時間パラメータを持つ.この関数は、現在位置から(x,y)座標で指定する位置にマウスポインタを移動させ、移動にかかる時間を持続時間パラメータで指定する.このPythonスクリプトを保存して実行すると、マウスポインタが魔法をかけられたように、現在の位置から座標位置(100,100)に1秒かけて移動することがわかります.
  • moveRel():現在位置に応じてマウスポインタを相対的に移動
  • 1 pyautogui.moveRel( 0 , 300 ,duration = 1 )
    このコードは、マウスポインタを元の位置から相対的に(0,300)個の画素点(すなわち、300画素下へ)移動する.例えば、コードを実行する前に、マウスポインタが(1000,300)になると、コードが実行する後、マウスポインタは(1000,600)に移動し、1秒かかる.
  • position():現在のマウスポインタの位置を取得
  • 1 print (pyautogui.position())
    出力:プログラム実行時のマウスの位置座標.
  • click():マウスのクリックとドラッグを制御する
  • 1 pyautogui.click( 370 , 120 )
    (370120)の位置でマウスクリックをシミュレートし、clickにはもう一つのパラメータ動作buttonがあり、デフォルトは「lest」であり、button=「right」の場合、rightClick()の効果は同じである(マウスの右クリック)
  • doubleClick()ダブルクリック
  • rightClick()右クリック
  • マウスのドラッグ操作に関連する2つの関数があります.dragToとdragRelです.これらの動作はmoveToやmoveRelと同様である、ドラッグ操作は移動中にマウスの左ボタンが押下されることを維持するという違いがある.
    この機能は、ダイアログを移動したり、Windowsのタブレットプログラムで鉛筆ツールで自動的に描画したりするなど、さまざまなシーンで使用できます.
    1234567891011 import   pyautogui import   time   time.sleep( 5 # 5   pyautogui.moveTo( 200 , 200 ,duration = 1 #  (200,200)   pyautogui.dragRel( 100 , 0 ,duration = 1 ) pyautogui.dragRel( 0 , 100 ,duration = 1 ) pyautogui.dragRel( - 100 , 0 ,duration = 1 ) pyautogui.dragRel( 0 , - 100 ,duration = 1 )
  • scroll():ロールアップ関数は、ピクセル数をパラメータとして受け入れ、与えられたピクセル数でロールアップ
  • 1 pyautogui.scroll( 200 )
    選択ウィンドウに対して、スクリーン200個の画素点をロールアップする.値が負の場合、下に移動
  • typewrite():文字列を自動的に入力するために使用され、入力する文字列を関数に渡すだけでパラメータとして
  • 12 pyautogui.click( 100 , 200 ) pyautogui.typewrite( 'hello word!' )
    テキスト領域が画面(100,200)の座標位置にあると仮定すると、このコードはテキスト領域をクリックしてアクティブにし、「hello word!」と入力します.
  • 転送キー名:typywrite()関数に分離キー名を入力できます.

  • 1 pyautogui.typewrite([ 'a' , 'left' , 'ctrlleft' ])
    このコードは、「a」と入力、左方向キーをタップし、左ctrlキーをタップすることに等しい.
  • ホットキー組合せ:hotkey()は、ctrl-c、ctrl-a、ctrl-vなどの組合せホットキーをシミュレートすることができる
  • 1 pyautogui.hotkey( 'ctrlleft' , 'v' )
    シミュレーションctrl-v、レプリケーション機能
    12345678 pyautogui.hotkey( 'ctrl' 'shift' 'esc' ) pyautogui.keyDown( 'ctrl' ) pyautogui.keyDown( 'shift' ) pyautogui.keyDown( 'esc' ) pyautogui.keyUp( 'esc' ) pyautogui.keyUp( 'shift' ) pyautogui.keyUp( 'ctrl' )
  • press():キーボード機能ボタン
  • 123 pyautogui.press( 'enter' )   # press the Enter key pyautogui.press( 'f1' )      # press the F1 key pyautogui.press( 'left' )    # press the left arrow key
  • メッセージポップアップ関数
  • メッセージポップアップが必要な場合は、OKをクリックしてプログラムを一時停止するか、ユーザーにいくつかの情報を表示すると、メッセージポップアップ関数にはJavaScriptのような機能があります.
    123 pyautogui.alert( ' +OK ' )   #  OK  pyautogui.confirm( ' +OK+Cancel ' #  OK   Cancel pyautogui.prompt( ' , OK'