当前位置: 首页 > 编程笔记 >

如何使用python实现模拟鼠标点击

童冠玉
2023-03-14
本文向大家介绍如何使用python实现模拟鼠标点击,包括了如何使用python实现模拟鼠标点击的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了如何使用python实现模拟鼠标点击,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

先来了解一下pyautogui。

pyautogui.moveTo,移动鼠标;pyautogui.click,点击鼠标,通过button来控制左击还是右击,click=n设置点击的次数,interval控制点击用的时间,有些程序确认双击是有个时间间隔的,如果不加上这个间隔,还真没办法识别。(好吧,这里说的就是你,浪沙。至少第一个单你是识别不了。害我没少测试。)就这两个功能对于我的这次操作已经是够用了。

当然Pyautogui的作用肯定不止这些,pyautogui.typewrite还能输入键盘有的字母的数字符号,screenshot截屏(这个在实现连连看的时候也能用得上哦。)等等,有兴趣的可以度娘学习一下。我们知道怎么模拟控制鼠标了,总得告诉它,要走到哪里,点击哪里吧。

Pyautogui是用像素来告诉程序要操作的位置的。那我们怎么得到这个像素呢?这里,我用的是操作系统自带的画图程序。画图里面“选择”这个功能会显示我们所选择的区域的像素,我们只要从我们需要点击的位置一直选到最左上角就可以了。

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我目前正在使我的Nintendo Wiimote(实际上是Kinda难过)可以像鼠标一样在计算机上工作。我设法使双节棍的摇杆控件实际上在屏幕上左右移动鼠标!真是令人兴奋。现在我被卡住了。 我想在按A时通过python左/右键单击事物,当我去做搜索时,想到的只是tkinter吗? 所以我的问题是,我该怎么称呼以使python在桌面上左/右单击,并且如果可能的话,也许提供一个代码段? 感谢

  • 问题内容: 我知道这种方法。但是,我想知道如何模拟事件。 我在堆栈溢出的某个地方找到了此代码,但我不知道如何使用它:( 如何使用JavaScript触发鼠标单击事件? 问题答案: (修改后的版本使之无需prototype.js即可工作) 您可以像这样使用它: 请注意,作为第三个参数,您可以传入’options’。您未指定的选项取自defaultOptions(请参见脚本底部)。因此,例如,如果您想

  • 本文向大家介绍javascript触发模拟鼠标点击事件,包括了javascript触发模拟鼠标点击事件的使用技巧和注意事项,需要的朋友参考一下 事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等)有dispatchEvent方法。 一般我们在元素上绑定事件后,是靠用户在这些元素上的鼠标行为来捕获或者触发事件的,或者自带的浏览器行为事

  • 本文向大家介绍C#采用mouse_event函数实现模拟鼠标功能,包括了C#采用mouse_event函数实现模拟鼠标功能的使用技巧和注意事项,需要的朋友参考一下 下面我通过代码为大家分享下C#模拟鼠标,具体内容如下: 想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event函数怎么去使用,因

  • 问题内容: 我只是想知道如何使用JavaScript模拟元素的点击。 目前我有: 但这不起作用:( 有任何想法吗? 问题答案: 这是我煮的 这很简单,但是有效: 用法:

  • 我有这样的东西: 我想使用JUnit测试SomeClass中的execute()方法。由于someMethod(String someArg1,String someArg2)调用了REST API,所以我想模拟someMethod来返回一些预定义的响应。但不知何故,实际的somethod被调用,而不是返回预定义的响应。我如何让它工作? 以下是我尝试使用Mockito和PowerMockito的内

  • 本文向大家介绍易语言利用鼠标模拟点击的方式实现自动画图的代码,包括了易语言利用鼠标模拟点击的方式实现自动画图的代码的使用技巧和注意事项,需要的朋友参考一下 DLL命令表 自动绘画的代码 此功能需要加载精易模块5.6 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

  • 问题内容: 我正在尝试模拟鼠标在窗口上的单击。我目前已经成功完成了以下操作(我正在使用Python,但是它应该适用于一般的win32): 这很好。但是,如果在我手动移动鼠标时发生单击,则光标位置会被抛出。有什么方法可以将点击直接发送到给定的坐标而无需将鼠标移动到那里?我尝试了以下类似的方法,但运气并不好: 问题答案: 尝试WindowFromPoint()函数: