今天测试的时候要反复打开某个软件,再关闭。
这么机械的劳动当然不能我亲自去做!立刻找到了万能python库里面的pyautogui,美美解放双手,跑一百遍都没问题!

资料参考来源:https://www.jb51.net/article/235352.htm

下载pyautogui包

直接打开pycharm,终端里输入

pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple/

鼠标位置获取

跟随鼠标的移动,会实时展示鼠标坐标的x,y值。根据自己的需求可以将需要的坐标值记录下来,后面直接可以操作点击。

#获取鼠标位置
import pyautogui as pg           #没别的作用就单纯换个名字
try:
    while True:
        x,y=pg.position()        #核心函数pg.position()
        print(str(x)+" "+str(y)) #输出鼠标的x,y
        
except KeyboardInterrupt:
    print("\n")

鼠标点击

  • pyautogui.click() 鼠标左键单击
  • pyautogui.click(button=‘right’) 鼠标右键单击
  • pyautogui.doubleClick() 鼠标左键双击
# 获取鼠标位置
import pyautogui as pg

try:
    while True:
        x, y = pg.position()
        print(str(x) + " " + str(y))  #输出鼠标位置

        if 1746 < x < 1800 and 2 < y < 33:
            pg.click()#左键单击
        if 1200 < x < 1270 and 600 < y < 620:
            pg.click(button='right')#右键单击
        if 1646 < x < 1700 and 2 < y < 33:
            pg.doubleClick()#左键双击

except KeyboardInterrupt:
    print("\n")

鼠标移动/拖动

  • pyautogui.moveTo() 鼠标绝对移动
  • pyautogui.move() 鼠标相对移动
  • pyautogui.dragTo() 鼠标绝对拖动
import pyautogui as pg

try:
    while True:
        x, y = pg.position()
        print(str(x) + " " + str(y))  #输出鼠标位置
        #实现鼠标绝对移动功能
        if 1011 < x < 1357 and 320 < y < 527:
            pg.moveTo(1750, 20, 2)#花2s从当前位置移动到(1750,20)
            pg.click()  # 左键单击
            
        #实现鼠标相对移动功能
        if 600 < x < 1000 and 305 < y < 425:
            pg.move(0, 200)  # 基于当前位置瞬间向下移动200像素
            
        #实现鼠标拖动功能
        if 1142<x<1391 and y<25:
            pg.dragTo(300, 400, 2, button='left') #花2s从当前位置拖到(300,400)

except KeyboardInterrupt:
    print("\n")

需求实现

记录下关键点,模拟自己的操作过程点击左键或者右键就可以。逻辑还是非常简单。浅浅先轮回十遍。
可以规定一个x和y的操作范围来进行点击,或者记录下具体的点也可以,麻烦一次可以循环使用好几次。
移动的方法还可以规定移动时间参数,好用。

# 获取鼠标位置
import pyautogui as pg  # 没别的作用就单纯换个名字
i = 10
try:
    while i:
        x, y = pg.position()
        # print(str(x) + " " + str(y))  # 输出鼠标位置

        pg.moveTo(212, 1060, 1)
        pg.click(button='right')
        pg.moveTo(208, 955, 1)
        pg.click()
        pg.moveTo(271, 199, 1)
        pg.click()
        pg.moveTo(382, 317, 1)
        pg.click()
        pg.moveTo(963, 782, 1)
        pg.click()
        pg.moveTo(1314, 173, 5)
        pg.click()
        i-=1

except KeyboardInterrupt:
    print("\n")

Logo

一座年轻的奋斗人之城,一个温馨的开发者之家。在这里,代码改变人生,开发创造未来!

更多推荐