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

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

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

先来了解一下pyautogui。

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

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

#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会报错,这个不用管的)至于效果嘛,这里就不录动图了,毕竟是会泄漏个人和公司信息。肯定是亲测有效,以我半个小时的休息时间做担保。

原文地址:https://www.cnblogs.com/chengxyuan/p/12146373.html

时间: 2024-08-02 16:53:08

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

Python模拟鼠标点击——如何正确的肝阴阳师

本来嘛,说好了要写Selenium自动化搜电影的笔记的,然后正好今天上课无聊玩阴阳师开了个SSR,发现还有600体!准备怒刷之,但是又肝不动了.打算尝试用Python写个脚本来代替我自动点击(PC端,安卓模拟器) 大家放心我没写出来 写好在测试的时候,发现一到安卓模拟器就丢失焦点(也可能是点不了),对win32编程完全不熟悉,研究了2,3个小时没解决.又跟一个网易游戏的聚聚聊了会,他用C++写的用得和我一样的方法完成了..... (如果有必要我明天换C++写一下...)但是测试了其他游戏,如腾讯

python模拟鼠标点击教程

pip install python-xlib  (安装pymouse必须要xlib的支持) pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  pymouse 安装成功有suceess install pymouse 如果提示Requirement already satisfied: pymouse 那就去插件库删掉 PyMouse-1.0-py3.8.egg-info和pymouse  然后重新装 我用了国内镜像安装 速度快 安

Delphi下利用WinIo模拟鼠标键盘详解

http://www.cnblogs.com/rogee/archive/2010/09/14/1827248.html 本文最早在编程论坛上发表,文章地址:http://programbbs.com/bbs/view12-17207-1.htm,相关文件可以在上述地址的页面中下载.转载时请注明出处. 前言 一日发现SendInput对某程序居然无效,无奈只好开始研究WinIo.上网查了很多资料,发现关于WinIo模拟鼠标键盘的资料很少,有的也只是支言片语讲的不是很详细,而且大部分都是关于模拟键

python模拟鼠标点击window图标

#python模拟点击是通过pymouse实现的,首先要安装pymouse. pip install python-xlib pip install pymouse #安装win32api: http://down.51cto.com/data/2326324 #python打开windos程序的方式: #coding=utf-8 import os os.startfile('E:\youxi\Correspond.exe') #python pymouse的简单应用: #python模拟鼠标

WEBBROWSER中模拟鼠标点击(SendMessage/PostMessage)

好久没有写文章,发一篇顶顶博客访问量.别人建议转一些比较好的代码也贴过来,但是我打算这里主要发自己原创的代码,所以么..流量该多少就多少吧... 回到主题,在webbrowser中点击某链接网上几乎都是用document对象模拟点击,这个方法基本能应对一般的情况,但是例如广告联盟的点击XXX就有检测机制(不多解释,你们懂的).所以完全模拟鼠标的点击事件就比较完美.于是我用了最常见的SendMessage. 接下来就要解决一个问题,webbrowser的句柄问题.从控件本身得到的句柄不是真正的浏览

使用powershell/vbs自动化模拟鼠标点击操作

今天想做windows上的自动化,所以才有了模拟鼠标点击的需求,先考虑用powershell实现: 首先先安装一个名为“WASP”免费可用的Powershell扩展程序,下载地址:http://wasp.codeplex.com/ 下载解压之后放到C:\Windows\System32\WindowsPowerShell\v1.0\Modules\下,如图: 之后,在开始->运行处输入powershell,以管理员方式运行, 执行Import-Module WASP,则引入了扩展程序, 假如有个

jQuery模拟鼠标点击事件失效的问题

最近使用jQuery操作浏览器获取数据,需要对分页的信息进行处理,发现直接使用$('div#pager a.next').click();的这种写法无法触发点击事件. 使用trigger('click')的写法也是无济于事. 在网上一顿扒拉后,发现使用$('div#pager a.next')[0].click();就OK了. $('div#pager a.next')[0]这种写法其实就相当于把jQuery对象转换为Dom对象了. 模拟点击不生效的原因 如果使用jQuery的写法:$('a#t

求助:程序如何模拟鼠标点击一个TreeView节点?

void CreateTreeViewControl(HWND hMainWnd) { g_hTreeView = CreateWindow(WC_TREEVIEW, _T("Tree View"), WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES | TVS_LINESATROOT, 5, 5, 320, 480, hMainWnd, NULL, hInst, NULL); TVINSERTSTRUCT tvInsertStruct

模拟鼠标点击按钮的简单示例

原理 首先枚举到目标按钮所在程序的窗口,然后在该窗口内枚举控件获取控件的句柄,获取到按钮的句柄后可通过SendMessage或者PostMessage来发送消息模拟鼠标点击按钮等交互方式.但是因为枚举窗口和句柄都是使用WIN32 API,所以只能枚举到WIN32的控件,对于那些不是微软提供的控件则表示无能为力了.本示例简单地模拟一个往打字机里面写入数据,点击确认的方法. 主要代码 HWND hBtnAdd = NULL; HWND hEditAdd = NULL; HWND hEditMain