【Python】用Python快速实现自动点击特定像素位置

【准备】

安装Python环境,我这里推荐Anaconda+Pycharm。
用Pip install导入如下包到当前环境。
pywin32,keyboard,pyautogui,opencv-python。

【脚本】

引入需要的包:

from pyautogui import *
import pyautogui
import time
import keyboard
import random
import win32api, win32con

点击功能,从性能考虑,采用win32方法:

def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)

最后就是主逻辑:

while keyboard.is_pressed('q') == False:
    
    if pyautogui.pixel(581, 400)[0] == 0:
        click(581, 400)
    if pyautogui.pixel(682, 400)[0] == 0:
        click(682, 400)
    if pyautogui.pixel(770, 400)[0] == 0:
        click(770, 400)
    if pyautogui.pixel(869, 400)[0] == 0:
        click(869, 400)

while表示退出机制,按下按键Q就退出识别。
While内的是识别逻辑,其中pyautogui.pixel是核心方法。
可以通过这个方法指定识别某一个坐标的像素。
【0】代表Red,【1】代表Green,【2】代表Blue
示例这段代码的意思是分别Check屏幕上从左到右的四个位置点。
如果含有红色就摁下,没有红色就不摁。
这端代码原本被用于四列排开的钢琴按键游戏。
琴键虽然是黑色,但是黑色包括了R段,所以会被识别并按下。

你可能感兴趣的:(Python,python,开发语言,自动化)