如何使用python实现模拟鼠标点击
这篇文章主要介绍了如何使用python实现模拟鼠标点击,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
不知道大家在工作中有没有一些工作需要重复的点击鼠标,因为会影响到财务统计报表的关系,我们每个月底月初都要修改ERP中的单据日期,单据多的时候光修改就能让你点鼠标点到手麻。(这里要吐槽一下浪沙软件,别的单据都可以批量修改日期,就是这个移仓单不行,你们研发怎么就这么懒?剩下这么点工作就不完成他?)之前同事有跟我提到过键盘精灵,因为当时负责别的工作,一直没有去了解。现在公司人员减少了,这工作又回到我身上了,刚好之前我在学习连连看的时候,知道Python也能实现模拟鼠标点击,那就直接用上呗。
先来了解一下pyautogui。
pyautogui.moveTo,移动鼠标;pyautogui.click,点击鼠标,通过button来控制左击还是右击,click=n设置点击的次数,interval控制点击用的时间,有些程序确认双击是有个时间间隔的,如果不加上这个间隔,还真没办法识别。(好吧,这里说的就是你,浪沙。至少第一个单你是识别不了。害我没少测试。)就这两个功能对于我的这次操作已经是够用了。
当然Pyautogui的作用肯定不止这些,pyautogui.typewrite还能输入键盘有的字母的数字符号,screenshot截屏(这个在实现连连看的时候也能用得上哦。)等等,有兴趣的可以度娘学习一下。我们知道怎么模拟控制鼠标了,总得告诉它,要走到哪里,点击哪里吧。
Pyautogui是用像素来告诉程序要操作的位置的。那我们怎么得到这个像素呢?这里,我用的是操作系统自带的画图程序。画图里面“选择”这个功能会显示我们所选择的区域的像素,我们只要从我们需要点击的位置一直选到最左上角就可以了。
好了,到这里万事俱备,上个代码吧。
importpyautogui foriinrange(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是不行的。
你需要把你的鼠标放到屏幕的最左上角。一般几秒后点击就会停止下来,(pythonshell会报错,这个不用管的)至于效果嘛,这里就不录动图了,毕竟是会泄漏个人和公司信息。肯定是亲测有效,以我半个小时的休息时间做担保。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。