赞
踩
没有什么能比学以致用让学习变得更有动力的了。
不知道大家在工作中有没有一些工作需要重复的点击鼠标,因为会影响到财务统计报表的关系,我们每个月底月初都要修改ERP中的单据日期,单据多的时候光修改就能让你点鼠标点到手麻。(这里要吐槽一下浪沙软件,别的单据都可以批量修改日期,就是这个移仓单不行,你们研发怎么就这么懒?剩下这么点工作就不完成他?)之前同事有跟我提到过键盘精灵,因为当时负责别的工作,一直没有去了解。现在公司人员减少了,这工作又回到我身上了,刚好之前我在学习连连看的时候,知道Python 也能实现模拟鼠标点击,那就直接用上呗。
先来了解一下pyautogui。
pyautogui.moveTo,移动鼠标;pyautogui.click,点击鼠标,通过button来控制左击还是右击,click=n设置点击的次数,interval控制点击用的时间,有些程序确认双击是有个时间间隔的,如果不加上这个间隔,还真没办法识别。(好吧,这里说的就是你,浪沙。至少第一个单你是识别不了。害我没少测试。)就这两个功能对于我的这次操作已经是够用了。当然Pyautogui的作用肯定不止这些,pyautogui.typewrite还能输入键盘有的字母的数字符号,screenshot截屏(这个在实现连连看的时候也能用得上哦。)等等,有兴趣的可以度娘学习一下。我们知道怎么模拟控制鼠标了,总得告诉它,要走到哪里,点击哪里吧。Pyautogui是用像素来告诉程序要操作的位置的。那我们怎么得到这个像素呢?这里,我用的是操作系统自带的画图程序。画图里面“选择”这个功能会显示我们所选择的区域的像素,我们只要从我们需要点击的位置一直选到最左上角就可以了。
好了,到这里万事俱备,上个代码吧。很多小伙伴在学习Python的过程中往往因为没有资料或者没人指导从而导致自己不想学下去了,因此我特意准备了大量的PDF书籍、视频教程,都免费送给大家!不管你是零基础还是有基础都可以获取到自己相对应的学习礼包!包括Python软件工具和2019最新入门到实战教程,(http://nxw.so/3rsqX)复制到浏览器打开!
- #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会报错,这个不用管的)至于效果嘛,这里就不录动图了,毕竟是会泄漏个人和公司信息。肯定是亲测有效,以我半个小时的休息时间做担保。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。