Python 中的自动点击器——2 种简单易行的方法

2023-11-17

在本教程中,我们将了解Python 中的自动答题器。我们将首先了解它的含义以及如何在 Python 中实现它。那么,事不宜迟,让我们进入正题。

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


方法一:使用 PyAutoGui

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

Play Video

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

代码实现

import pyautogui

import time

def click():

time.sleep(0.1)

pyautogui.click()

for i in range(20):

click()


方法二:使用 Pynput

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

导入所需模块

import time

import threading

from pynput.mouse import Button, Controller

from pynput.keyboard import Listener, KeyCode

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

声明重要变量

delay = 0.001

button = Button.left

start_stop_key = KeyCode(char='s')

exit_key = KeyCode(char='e')

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

  1. 设置为需要点击的鼠标按钮的按钮变量。

  1. Begin_End 变量,设置为启动和停止自动点击器的键。

  1. 用于关闭自动点击器的Exit_Key 变量

创建一个类来扩展线程

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。循环中的循环迭代直到运行的值为True。一旦我们进入两个循环,我们就按下设置按钮。

为鼠标控制器创建实例

mouse = Controller()

thread = ClickMouse(delay, button)

thread.start()

创建一个方法来设置键盘监听器

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()

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


结论

这是在 Python 中开发自动答题器的两种截然不同的方法。它可以根据用户的需要进一步定制。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的自动点击器——2 种简单易行的方法 的相关文章

随机推荐

  • Spring 中容器启动分析之refresh方法执行之前

    内容来自 自学星球 欢迎大家来了解我的星球 和星主 也就是我 一起学习 Java 深入 Java 体系中的所有技术 我给自己定的时间是一年 无论结果如何 必定能给星球中的各位带来点东西 想要了解更多 欢迎访问 自学星球 SSM系列源码文章及
  • JavaScript随机生成颜色

    function getRandomColor const letters 0123456789ABCDEF let color for let i 0 i lt 6 i color letters Math floor Math rand
  • IPv4数据报的分段与重组

    文章摘自书籍 深入理解计算机网络 王达 机械工业出版社 IPv4数据报头格式请点击此处 IPv4数据报的封装与解封装请点击此处 IPv4数据报的分段与重组 在网络层中还涉及一个分段的问题 那就是因为不同网络线路上可以传输的数据报大小是有限制
  • QT学习记录(三)通过ui和代码的方式往窗口添加组件

    写在前面 本文是b站教程的https www bilibili com video BV1g4411H78N p 5 vd source a3efe214b8a2ba185e92e79cb6d6321b的笔记 外加自己的一些其他想法 如有侵
  • mnist example for lstm in caffe

    下面给出在caffe中使用lstm的一个例子 其中数据集采用mnist 为了实现mnist数据的序列话 将mnist的每一行看成一帧 每一列则就是该帧的特征矢量 在使用lstm时 一定要注意clip markers 每个序列以0开始 后面接
  • Unity 编辑器-创建模板脚本,并自动绑定属性,添加点击事件

    当使用框架开发时 Prefab挂载的很多脚本都有固定的格式 从Unity的基础模板创建cs文件 再修改到应有的模板 会浪费一些时间 尤其是有大量的不同界面时 每个都改一遍 浪费时间不说 还有可能遗漏或错改 写个脚本创建指定的模板代替C 基础
  • 基于Spark的电商用户行为实时分析可视化系统(Flask-SocketIO)

    基于Spark的电商用户行为实时分析可视化系统 Flask SocketIO 项目简介 该项目已上线蓝桥课程 有需要的可凭邀请码 UB5mdLbl 学习哦 有优惠 课程地址 https www lanqiao cn courses 2629
  • 拉普拉斯时域卷积定理_如何证明频域卷积定理

    展开全部 设抄 IF表示傅立叶逆变换 则 因此有袭 故频域卷积定2113理5261得证 4102 扩展资料 频域卷积定理 频域卷积定理表明两信号1653在时域的乘积对应于这两个信号傅立叶变换的卷积除以2 卷积定理揭示了时间域与频率域的对应关
  • nacos注册中心/配置中心的使用

    Nacos下载 https github com alibaba nacos releases Nacos启动 此处为了演示方便 下载的是 Windows版本 nacos server 2 2 2 zip 进入 nacos server 2
  • response.setCharacterEncoding(charset) 报错

    eclipse tomcat服务启动运行项目 代码 response setCharacterEncoding charset 标红 我自己百度了很多 有一个说法是最靠谱的 HttpServletResponse存在于servlet api
  • JQ了解

    jQuery 一 jQuery的了解 1 定义 jQuery是一个兼容多浏览器的JavaScript框架 可以使用户方便地处理HTML 事件 实现动画效果 并且为网站提供方便的Ajax交互 2 作用 JS操作DOM的一个库 特点 轻量级 出
  • Maven构建与管理项目(二)

    Maven构建与管理项目 二 Maven核心概念 Maven坐标 什么是坐标 在平面几何中坐标 x y 可以标识平面中唯一的一点 Maven坐标主要组成 groupId 组织标识 包名 artifactId 项目名称 version 项目的
  • ST外设使用出错,一般排查步骤

    FMC 通信有误排查过程 1 STM32 官方设计资源 https www stmcu com cn STM32中文官网 gt 设计资源 gt 实战经验 2 Cube 库当中的官方例程 使用 everything 搜索 FMC 关键词 从而
  • 新路子!chatGPT+Python爬虫接私单怎么玩?

    就在这两天 关于ChatGPT的疾呼突然在社交平台上刷屏 很多人发现自己的号已经不在了 用户们感到前所未有的惶恐 已经有不少公司把 chatGPT引入工作流 未来已来 AI智能时代真的来了 普通人如何在智能时代谋求发展 这里提供一个思路 c
  • C++异常

    全文目录 概念 异常的抛出 在函数调用链中异常栈展开匹配原则 异常的重新抛出 异常安全 异常规范 C 标准库的异常体系 异常的优缺点 概念 C语言处理异常的方式 终止程序 返回错误码 很多系统的库函数就是使用这中方式 C 异常 异常是一种处
  • iphone原彩显示对眼睛好吗_iphonex原彩显示有必要开吗

    配置来看 iphoneX更好也2113更贵 iphone8注重5261实用 iphoneX注重装X 有钱就买iphone X 预算不足买iphone 8 4102iphone8和iphoneX的区别 1653外观设计 iPhone 8 Pl
  • 工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计

    鸿鹄工程项目管理系统 Spring Cloud Spring Boot Mybatis Vue ElementUI 前后端分离构建工程项目管理系统 1 项目背景 一 随着公司的快速发展 企业人员和经营规模不断壮大 为了提高工程管理效率 减轻
  • caffe代码阅读7:LayerRegistry的实现细节-2016.3.18

    一 LayerRegistry的作用简介 LayerResistry的功能很简单 就是将类和对应的字符串类型放入到一个map当中去 以便灵活调用 主要就是注册类的功能 二 LayerRegistry类的详细介绍 1 构造函数和析构函数 构造
  • c-tree数据库(c-treeACE)(7):开发篇之一

    C tree提供了很多种的API 我们主要使用C 的 即c treeDB C API 主要的参考手册就是Faircom公司网站上提供的 c treeDB C API Developer s Guide 学习开发的一个最佳途径当时看看tuto
  • Python 中的自动点击器——2 种简单易行的方法

    在本教程中 我们将了解Python 中的自动答题器 我们将首先了解它的含义以及如何在 Python 中实现它 那么 事不宜迟 让我们进入正题 Auto Clicker是一种 Python 软件 允许用户以较短的时间间隔连续点击鼠标 它由用户