这个Python自动点击器是一个简单而有效的工具,它利用了PyAutoGUI库和Keyboard库,以及图像识别技术,实现了自动化的点击任务。下面详细介绍一下:
1. 依赖库安装
在开始之前,我们需要确保所需的Python库已经安装。通过执行以下命令,可以安装PyAutoGUI和Keyboard库:
# Python自动点击器:简单实现自动化点击任务
## 依赖库安装
在开始之前,确保已安装所需的Python库:
```bash
pip install pyautogui
pip install keyboard
pip install opencv-python
这些库提供了在屏幕上模拟鼠标点击和监听键盘输入的功能。
2. 图像识别工具
为了让程序能够识别屏幕上的按钮,我们需要提供按钮的图片。可以通过截取按钮的屏幕截图,然后保存为图片文件。确保图片文件的路径正确,并传递给find_button_and_click
函数。
3. 自动点击功能
自动点击功能通过find_button_and_click
函数实现。这个函数的主要作用是不断地截取屏幕截图,然后利用图像识别技术在截图中查找指定按钮的位置,如果找到按钮,则模拟鼠标点击该按钮的中心位置。同时,程序会持续运行,并每隔1秒尝试一次查找按钮,直到按下键盘上的“esc”键停止自动点击。
4. 适用场景
这个自动点击器可以用于许多需要重复点击按钮的任务,比如自动化测试、游戏中的自动操作、网页上的自动化操作等。它能够极大地提高工作效率,减少重复劳动的时间和精力消耗。
import time
import pyautogui
import keyboard
def find_button_and_click(image_path):
try:
while True:
# 全屏截图
screenshot = pyautogui.screenshot()
# 在全屏截图中查找按钮图片
button_location = pyautogui.locateCenterOnScreen(
image_path, confidence=0.9)
if button_location:
# 点击按钮中心位置
pyautogui.click(button_location.x, button_location.y)
time.sleep(1) # 每隔1秒尝试一次
if keyboard.is_pressed('esc'):
print("点击已停止")
break
except KeyboardInterrupt:
print("点击已停止")
# 传入要查找的按钮图片路径
find_button_and_click("D:/button_image.png")
总的来说,这个Python自动点击器是一个简单但功能强大的工具,通过结合图像识别和自动化技术,可以在很多场景下发挥重要作用,提高工作效率并减轻用户的工作负担。
备用:图像识别工具下载链接:https://digi.bib.uni-mannheim.de/tesseract/
以下是我使用的正式版本:
import os import re import time import pyautogui import keyboard
from pyautogui import ImageNotFoundException
# WWW:http://www.ybb.press
# By:叶斌兵
def find_button_and_click(image_path, click_count=1, confidence=0.9): try: while click_count > 0: # 全屏截图 screenshot = pyautogui.screenshot() # 在全屏截图中查找按钮图片 button_location = pyautogui.locateCenterOnScreen( image_path, confidence=confidence) if button_location: # 点击按钮中心位置 pyautogui.click(button_location.x, button_location.y) click_count -= 1 if keyboard.is_pressed('esc'): print("点击已停止") break except KeyboardInterrupt: print("点击已停止") except ImageNotFoundException: print("图片未找到,继续尝试下一张图片") pass # 定义函数来创建文件夹(如果不存在) def create_folder_if_not_exists(folder_path): if not os.path.exists(folder_path): os.makedirs(folder_path) # 文件夹路径 folder_path = r"D:\clicks" # 创建文件夹(如果不存在) create_folder_if_not_exists(folder_path) while True: # 获取文件夹内的所有图片文件并按文件名排序 image_files = sorted([f for f in os.listdir(folder_path) if f.endswith((".jpg", ".jpeg", ".png"))]) # 遍历图片文件并点击 for image_file in image_files: image_path = os.path.join(folder_path, image_file) # 解析文件名以获取点击次数和执行延迟 match = re.match(r'.*_(\d+)_(\d+)', image_file) if match: click_count = int(match.group(1)) delay_seconds = int(match.group(2)) else: click_count = 1 delay_seconds = 1 # 设置confidence为0.8,也可以根据需要进行调整 find_button_and_click(image_path, click_count, confidence=0.8) # 执行延迟秒数 time.sleep(delay_seconds) if keyboard.is_pressed('esc'): print("点击已停止") break
配置:文件可以多个:2_1_5.png 其中2为执行顺序,1为点击次数,5为点击时间,按住ESC就是退出。
发表评论 取消回复