Python的pyautogui库自动化键鼠操作

文章目录

  • 起因
  • 7.30日更新
  • 一、Pyautogui库
  • 二、代码实现
  • 三、总结


起因

每天手动登录fortClient好麻烦,就想写一个按键精灵帮我登录,趁机泡杯咖啡它不香吗~



7.30日更新

使用时发现等待时间的不可控性太大了,有的时候程序没启动起来就进行后续点击动作,导致整个程序乱掉。于是改用库中locateOnScreen()来实时查看屏幕当前情况。

import pyautogui


def findElement(a):
    buttonlocation = None
    while buttonlocation == None:
        try:
            buttonlocation = pyautogui.locateOnScreen(a, confidence=0.8)
        except:
            continue
    return buttonlocation
    
def Login():
    # 获取当前屏幕分辨率
    screenWidth, screenHeight = pyautogui.size()
    print(screenWidth, screenHeight)
    # 获取当前鼠标位置
    currentMouseX, currentMouseY = pyautogui.position()
    print(currentMouseX, currentMouseY)

    #---------- 切换输入法 ----------#
    pyautogui.PAUSE = 0.5
    pyautogui.click(x=1142, y=11, duration=0.25)
    pyautogui.click(x=1142, y=104, duration=0.25)

    #---------- 打开fortclient ----------#
    pyautogui.hotkey('option', 'command', 'p')
    findElement('search.png')
    pyautogui.click(x=720, y=41, duration=0.25)
    pyautogui.typewrite(message="fort")
    findElement('fort.png')
    pyautogui.click(x=720, y=120, duration=0.25)
    
    #---------- 点击登录 ----------#
    findElement('btn.png')
    pyautogui.click(x=721, y=605, duration=0.25)

    #---------- 输入账号密码 ----------#
    findElement('next.png')
    pyautogui.typewrite(message="账号")
    pyautogui.press('enter')
    findElement('log.png')
    pyautogui.typewrite(message="密码")
    pyautogui.press('enter')
    findElement('yes.png')
    pyautogui.press('enter')


if __name__ == "__main__":
    Login()


一、Pyautogui库

提供了很多好用的键鼠自动控制API。
使用 $ pip3 install pyautogui 指令下载该库。

二、代码实现

import pyautogui

def Login():
    # 获取当前屏幕分辨率
    # screenWidth, screenHeight = pyautogui.size()

    # 获取当前鼠标位置
    # currentMouseX, currentMouseY = pyautogui.position() 

    #---------- 打开fortclient ----------#
    pyautogui.PAUSE = 1
    pyautogui.hotkey('option', 'command', 'p')
    pyautogui.write('fort')
    pyautogui.PAUSE = 3.5
    pyautogui.click(x=720, y=120, duration=0.25)

    #---------- 点击登录 ----------#
    pyautogui.click(x=721, y=605, duration=0.25)
    pyautogui.PAUSE = 1.5

    #---------- 输入账号密码 ----------#
    pyautogui.typewrite(message="账号")
    pyautogui.press('enter')
    pyautogui.typewrite(message="密码")
    pyautogui.press('enter')
    pyautogui.press('enter')


if __name__ == "__main__":
    Login()

几个实现功能的小窍门:

  1. 使用 pyautogui.position() 方法找到自己想要的鼠标落点坐标
  2. 使用 pyautogui.PAUSE 控制后续操作间隔。注意: 执行 pyautogui方法的时候,不能穿插sleep()控制时间,会打断施法(误。
  3. 支持方法很多,如鼠标各种点击,键盘输入,热键使用等。

三、总结

更多关于pyautogui库的使用方法请参考pyautogui官方指南。

Python的pyautogui库自动化键鼠操作_第1张图片

你可能感兴趣的:(python,rpa)