基于Python实现自动点击器
顾名思义,Python 中的自动点击器是一个简单的 Python 应用程序,它根据用户要求重复单击鼠标。 不同的参数,如速度、频率和位置,可以根据用户进行更改。
Python 有不同的模块可用于控制键盘、鼠标等设备。因此,我们可以使用这些模块轻松地在 Python 中创建自动点击器。
本篇文章将介绍在 Python 中创建自动答题器的不同方法。
使用 pyautogui 模块在 Python 中创建自动点击器
pyautogui 模块可以创建控制设备的鼠标和键盘的脚本。
我们可以使用 pyautogui.click() 函数来单击鼠标。 我们可以使用 pyautogui.moveTo() 函数预先将鼠标移动到所需位置,并指定光标的坐标。
要使用这些函数创建自动点击器,我们将移动鼠标并运行 for 循环来执行每次迭代的 pyautogui.click() 函数。 我们还会在每次点击之前稍微延迟以使其可见。
我们将使用 time 模块中的 sleep() 函数来进行延迟。
我们在下面的代码中实现自动点击器的逻辑。
1 2 3 4 5 6 | import pyautogui import time pyautogui.moveTo( 600 , 800 ) for i in range ( 20 ): time.sleep( 0.1 ) pyautogui.click() |
在上面的示例中,我们将光标移动到坐标(600,800)并使用 click() 函数单击鼠标 20 次。
使用 win32api 在 Python 中创建自动点击器
win32api 用于控制和自动化 Windows COM 对象。 我们可以使用 win32con 模块中的这些对象并模拟鼠标单击。
为此,我们使用 win32api.mouse_event 函数两次,一次用于 win32con.MOUSEEVENTF_LEFTDOWN,另一次用于 win32con.MOUSEEVENTF_LEFTDOWN 来模拟鼠标单击。
我们将使用 win23api.SetCursorPos() 函数将光标的位置设置为所需的坐标。 然后,我们将使用与之前方法类似的方法在 Python 中创建自动点击器。
请参阅下面的代码。
1 2 3 4 5 6 7 | import win32api, win32con import time win32api.SetCursorPos(( 600 , 800 )) for i in range ( 20 ): win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 600 , 800 , 0 , 0 ) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 600 , 800 , 0 , 0 ) time.sleep( 0.1 ) |
使用 pynput 模块在 Python 中创建自动点击器
我们还有 pynput 用于在 Python 脚本中自动执行鼠标和键盘操作。 此方法与前两种方法不同,因为我们将创建一个具有创建自动点击器所需功能的类。
我们将创建一个类,当按下特定键时,它将充当自动点击器。 将分配另一个键来停止点击。
我们需要导入 pynput.mouse 和 pynput.keyboard 模块。
创建的类将扩展为threading.Thread类,以便我们可以控制具有不同功能的线程。
在类的 __init__ 方法中,我们将像之前一样指定每次单击之间的轻微延迟,并提到我们将使用 Button.Left 对象单击鼠标左键。
线程将继续运行,直到按下停止点击的键为止。 我们将使用 threading.Thread 类的 start() 方法来开始单击。
在 running() 方法中,我们还将使用 Controller 类对象。
为了启动和停止线程,我们将创建一个函数。 Listener() 函数将在使用 on_press 参数按下按键时执行定义的函数。
这个逻辑在下面的代码中实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode start_end = KeyCode(char = 'a' ) exit_key = KeyCode(char = 'z' ) class auto_clicker_class(threading.Thread): def __init__( self ): super (auto_clicker_class, self ).__init__() self .delay = 0.1 self .button = Button.left self .running = False self .program_run = True def begin_clicking( self ): self .running = True def clicking_stop( self ): self .running = False def exit( self ): self .clicking_stop() self .program_run = False def run( self ): while self .program_run: while self .running: mouse_ob.click( self .button) time.sleep( self .delay) time.sleep( 0.1 ) mouse_ob = Controller() t = auto_clicker_class() t.start() def fun(k): if k = = start_end: if t.running: t.clicking_stop() else : t.begin_clicking() elif k = = exit_key: t.exit() listener.stop() with Listener(on_press = fun) as listener: listener.join() |
总结
我们在本篇文章中讨论了自动点击器。 前两种方法相对简单,因为我们使用 for 循环重复执行一个函数多次来模拟鼠标单击。
最后一种方法在 Python 中创建一个适当的自动点击器脚本,可以根据键盘上按下的键开始和停止点击。
到此这篇关于基于Python实现自动点击器的文章就介绍到这了,更多相关Python点击器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
python gui开发——制作抖音无水印视频下载工具(附源码)
这篇文章主要介绍了python gui开发——制作抖音无水印视频下载工具(附源码)的相关资料,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下2021-02-02Python机器学习应用之基于天气数据集的XGBoost分类篇解读
XGBoost是一个优化的分布式梯度增强库,旨在实现高效,灵活和便携。它在 Gradient Boosting 框架下实现机器学习算法。XGBoost提供并行树提升(也称为GBDT,GBM),可以快速准确地解决许多数据科学问题2022-01-01如何使用django-treebeard实现树类型存储与编辑
这篇文章主要介绍了使用django-treebeard实现树类型存储与编辑的宣相关操作代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2024-08-08Python按条件筛选、剔除表格数据并绘制剔除前后的直方图(示例代码)
本文介绍基于Python语言,读取Excel表格文件数据,以其中某一列数据的值为标准,对于这一列数据处于指定范围的所有行,再用其他几列数据的数值,加以数据筛选与剔除,感兴趣的朋友跟随小编一起看看吧2024-07-07
最新评论