您现在的位置是:首页 > 技术教程 正文

用Python制作一个自动点击器,三种模块都可以

admin 阅读: 2024-03-22
后台-插件-广告管理-内容页头部广告(手机)

顾名思义,Python中的自动点击器是一个简单的Python应用程序,可以按照用户的要求重复点击鼠标。不同的参数,如速度、频率和位置,可以根据用户的要求进行改变。

Python有不同的模块可用于控制键盘、鼠标等设备。因此,我们可以使用这些模块在Python中轻松创建一个自动点击器。

本教程将展示在Python中创建一个自动点击器的不同方法。

1.使用pyautogui 模块

pyautogui 模块可以创建控制设备的鼠标和键盘的脚本。

我们可以使用pyautogui.click() 函数来点击鼠标。我们可以使用pyautogui.moveTo() 函数事先将鼠标移动到需要的位置,并指定光标的坐标。

为了用这些函数创建一个自动点击器,我们将移动鼠标并运行一个for 循环来执行每个迭代的pyautogui.click() 函数。我们还将在每次点击前稍作延迟,使之可见。

我们将使用time 模块中的sleep() 函数进行延迟。

我们在下面的代码中实现自动点击器的逻辑。

import pyautogui import time pyautogui.moveTo(600, 800) for i in range(20): time.sleep(0.1) pyautogui.click()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在上面的例子中,我们将光标移动到坐标(600,800) ,并使用click() 函数点击鼠标20次。

使用win32api

win32api 是用来控制和自动化Windows COM对象的。我们可以使用win32con 模块中的这些对象并模仿鼠标点击。

为此,我们使用win32api.mouse_event 函数两次,一次用于win32con.MOUSEEVENTF_LEFTDOWN ,另一次用于win32con.MOUSEEVENTF_LEFTDOWN 来模仿鼠标点击。

我们将用win23api.SetCursorPos() 函数将光标的位置设置为所需的坐标。然后,我们将使用与前面方法类似的方法,在Python中创建一个自动点击器。

请看下面的代码。

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.使用pynput 模块

我们也有pynput ,用于在Python脚本中实现鼠标和键盘动作的自动化。这个方法与前两个不同,因为我们将创建一个具有必要功能的类来创建一个自动点击器。

我们将创建一个类,当一个特定的键被按下时,它将充当一个自动点击器。另一个键将被分配来停止点击。

我们将需要导入pynput.mouse 和pynput.keyboard 模块。

创建的类将扩展到threading.Thread 类,这样我们就可以用不同的功能来控制线程。

在该类的__init__ 方法中,我们将像之前那样指定每次点击之间的轻微延迟,并提到我们将使用Button.Left 对象点击鼠标的左键。

线程将一直运行,直到停止点击的键被按下。我们将使用threading.Thread 类的start() 方法来开始点击。

在running() 方法中,我们也将使用Controller 类对象。

为了启动和停止线程,我们将创建一个函数。Listener() 函数将执行定义的函数,同时使用on_press 参数按下按键。

这个逻辑在下面的代码中实现。

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() #Python小白学习交流群:725638078 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()
  • 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

总结

我们在本教程中讨论了自动点击器。前两种方法相对简单,因为我们使用for 循环执行了一个重复多次的函数来模仿鼠标的点击。

最后一种方法是在Python中创建一个适当的自动点击器脚本,它可以根据键盘上的按键开始和停止点击。

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索