欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用python模拟鼠标点击自动完成工作,提升你的工作效率!

程序员文章站 2022-03-25 18:00:44
没有什么能比学以致用让学习变得更有动力的了。 不知道大家在工作中有没有一些工作需要重复的点击鼠标,因为会影响到财务统计报表的关系,我们每个月底月初都要修改ERP中的单据日期,单据多的时候光修改就能让你点鼠标点到手麻。(这里要吐槽一下浪沙软件,别的单据都可以批量修改日期,就是这个移仓单不行,你们研发怎 ......

没有什么能比学以致用让学习变得更有动力的了。

不知道大家在工作中有没有一些工作需要重复的点击鼠标,因为会影响到财务统计报表的关系,我们每个月底月初都要修改erp中的单据日期,单据多的时候光修改就能让你点鼠标点到手麻。(这里要吐槽一下浪沙软件,别的单据都可以批量修改日期,就是这个移仓单不行,你们研发怎么就这么懒?剩下这么点工作就不完成他?)之前同事有跟我提到过键盘精灵,因为当时负责别的工作,一直没有去了解。现在公司人员减少了,这工作又回到我身上了,刚好之前我在学习连连看的时候,知道python 也能实现模拟鼠标点击,那就直接用上呗。

先来了解一下pyautogui。

pyautogui.moveto,移动鼠标;pyautogui.click,点击鼠标,通过button来控制左击还是右击,click=n设置点击的次数,interval控制点击用的时间,有些程序确认双击是有个时间间隔的,如果不加上这个间隔,还真没办法识别。(好吧,这里说的就是你,浪沙。至少第一个单你是识别不了。害我没少测试。)就这两个功能对于我的这次操作已经是够用了。当然pyautogui的作用肯定不止这些,pyautogui.typewrite还能输入键盘有的字母的数字符号,screenshot截屏(这个在实现连连看的时候也能用得上哦。)等等,有兴趣的可以度娘学习一下。我们知道怎么模拟控制鼠标了,总得告诉它,要走到哪里,点击哪里吧。pyautogui是用像素来告诉程序要操作的位置的。那我们怎么得到这个像素呢?这里,我用的是操作系统自带的画图程序。画图里面“选择”这个功能会显示我们所选择的区域的像素,我们只要从我们需要点击的位置一直选到最左上角就可以了。

利用python模拟鼠标点击自动完成工作,提升你的工作效率!

好了,到这里万事俱备,上个代码吧。

#python学习群592539176
import pyautogui

for i in range(2,11):

 用0.5秒的时间把光标移动到(400, 175+i*20)位置

pyautogui.moveto(400,175+i*20,duration=0.5)

pyautogui.click(clicks=2,button='left',interval=0.05)#点击进入单据

 time.sleep(3)

 pyautogui.click(100,140)#点击修改

 time.sleep(3)

 pyautogui.click(350,190,button='left')#左击发货日

 pyautogui.click(350,190,button='right')#右击发货日

 time.sleep(1.5)

 pyautogui.click(595,397)#选择日期5

 time.sleep(1.5)

 pyautogui.click(815,472)#完成

 time.sleep(1.5)

 pyautogui.click(565,425)#发出日大于接收日,是

 time.sleep(1.5)

 pyautogui.click(155,140)#点击保存

 time.sleep(2)

 pyautogui.click(432,140)#点击查询

 time.sleep(5)

 

我这里一个for 循环是让他从第一张单开始操作,操作到这一页的最后一张单。time.sleep嘛,这个系统运行是需要时间的,我们让鼠标休息一下。最后还有一个要可能需要提醒大家的地方就是,如果程序走到一半,发现没必要再执行下去了,或者有错误了(比如系统卡死了设置的休息时间不够),希望停止程序,这时候ctrl+c是不行的。你需要把你的鼠标放到屏幕的最左上角。一般几秒后点击就会停止下来,(python shell会报错,这个不用管的)至于效果嘛,这里就不录动图了,毕竟是会泄漏个人和公司信息。肯定是亲测有效,以我半个小时的休息时间做担保。