用pyautogui进行鼠标移动和点击来解放懒狗的手吧!
今天测试的时候要反复打开某个软件,再关闭。这么机械的劳动当然不能我亲自去做!立刻找到了万能python库里面的pyautogui,美美解放双手,跑一百遍都没问题!资料参考来源:https://www.jb51.net/article/235352.htm。
·
今天测试的时候要反复打开某个软件,再关闭。
这么机械的劳动当然不能我亲自去做!立刻找到了万能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")
更多推荐
已为社区贡献1条内容
所有评论(0)