Python 中的自动点击器 – 2 种简单易用的方法

你好,开发者!!在本教程中,我们将了解Python 中的自动点击器我们将首先了解它的含义以及如何在 Python 中实现它。那么,话不多说,让我们进入正题。

Auto Clicker是一款 Python 软件,允许用户以较短的间隔连续单击鼠标。它由用户定义的按键控制,适用于所有环境 – Windows、Mac 和 Linux。在 Python 中,我们将利用一个名为 PyAutoGUI 的包来执行此操作。这将使我们能够同时操作鼠标和监视键盘。


方法一:使用PyAutoGui

PyAutoGUI使用 (x,y) 坐标,原点 (0,0) 位于屏幕左上角。当我们向右移动时,x 坐标会增大,但 y 坐标会减小。

PyAutoGUI 目前仅适用于主显示器对于第二个显示器的屏幕来说这是不值得信赖的。PyAutoGUI 执行的所有键盘按下都会传输到具有当前焦点的窗口。

代码实现

1
2
3
4
5
6
7
import pyautogui
import time
def click():
    time.sleep(0.1)    
    pyautogui.click()
for i in range(20):
    click()

方法2:使用Pynput

让我们尝试使用 Pynput 模块在 Python 中实现自动点击器。

导入所需模块

1
2
3
4
import time
import threading
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode

程序中导入了多个模块,包括导入按钮和控制器以控制鼠标操作,以及导入侦听器和键码以跟踪键盘事件以处理自动点击器操作的开始和停止。

声明重要变量

1
2
3
4
delay = 0.001
button = Button.left
start_stop_key = KeyCode(char='s')
exit_key = KeyCode(char='e')

下一步是声明一些重要的变量,包括以下内容:

  1. Button 变量设置为需要单击的鼠标按钮。
  2. Begin_End 变量设置为启动和停止自动点击器的键。
  3. Exit_Key 变量用于关闭自动点击器。

创建一个类来扩展线程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 号
18
19
20
21
22
23
24
class ClickMouse(threading.Thread):
    def __init__(self, delay, button):
        super(ClickMouse, self).__init__()
        self.delay = delay
        self.button = button
        self.running = False
        self.program_run = True
  
    def start_clicking(self):
        self.running = True
  
    def stop_clicking(self):
        self.running = False
  
    def exit(self):
        self.stop_clicking()
        self.program_run = False
  
    def run(self):
        while self.program_run:
            while self.running:
                mouse.click(self.button)
                time.sleep(self.delay)
            time.sleep(0.1)

借助我们构建的线程,我们将能够管理鼠标点击。有两种选择:延迟和按钮。另外还有两个指示器指示程序是否正在执行。

创建外部处理线程的方法

  • start_clicking(): 启动线程
  • stop_clicking (): 停止线程
  • exit(): 退出程序并重置

创建一个在线程启动时运行的方法

当线程启动时,该方法将被调用。我们将迭代循环,直到run_prgm 的结果等于 True循环内的循环不断迭代,直到 run 的值为 True。一旦我们进入两个循环,我们就按下设置按钮。

创建鼠标控制器实例

1
2
3
mouse = Controller()
thread = ClickMouse(delay, button)
thread.start()

创建设置键盘监听器的方法

1
2
3
4
5
6
7
8
9
10
11
12
def on_press(key):
    if key == start_stop_key:
        if thread.running:
            thread.stop_clicking()
        else:
            thread.start_clicking()
    elif key == exit_key:
        thread.exit()
        listener.stop()
  
with Listener(on_press=on_press) as listener:
    listener.join()

如果您按下开始结束键,并且该标志设置为 true,它将停止单击。否则,它将开始。如果按下退出键,则调用线程的退出方法,并终止侦听器。


结论

这是用 Python 开发自动答题器的两种不同方法。可根据用户的需求进一步定制。

喜欢该教程吗?无论如何,我建议您查看下面提到的教程:

  1. 使用 Python 捕获屏幕截图的 2 种方法
  2. 在 NumPy 中执行随机采样的 4 种方法
  3. Python 中更轻松调试的技巧

感谢您抽出宝贵时间!希望你学到新东西!😄