这个错误是由于pyscreeze模块中没有locateOnWindow函数引起的。你可以尝试使用其他的图像识别库,比如OpenCV来替代pyscreeze的locateOnWindow函数。

首先,确保你已经安装了OpenCV库。你可以使用以下命令进行安装:

pip install opencv-python

然后,使用以下代码来替代pyscreeze中的locateOnWindow函数:

import cv2
import numpy as np

def locateOnWindow(image_path, confidence=0.8):
    template = cv2.imread(image_path, 0)
    h, w = template.shape[::-1]

    screen = np.array(pyautogui.screenshot())
    gray_screen = cv2.cvtColor(screen, cv2.COLOR_BGR2GRAY)

    res = cv2.matchTemplate(gray_screen, template, cv2.TM_CCOEFF_NORMED)
    loc = np.where(res >= confidence)

    for pt in zip(*loc[::-1]):
        return pt[0] + w // 2, pt[1] + h // 2

    return None

然后,你可以使用以下代码来点击'我的照片查询'和'考试照片查询':

# 在打开的小程序中找到并点击'我的照片查询'
my_photos_query_position = locateOnWindow('my_photos_query.png')
if my_photos_query_position:
    pyautogui.click(my_photos_query_position)
else:
    print('未找到'我的照片查询'字样')

# 在打开的小程序中找到并点击'考试照片查询'
exam_photos_query_position = locateOnWindow('exam_photos_query.png')
if exam_photos_query_position:
    pyautogui.click(exam_photos_query_position)
else:
    print('未找到'考试照片查询'字样')

这样应该就可以解决这个错误了。请确保你的图片文件和代码文件在同一个目录下,并且图片文件名和代码中的文件名一致。

解决Python自动化脚本中pyscreeze模块的locateOnWindow错误

原文地址: https://www.cveoy.top/t/topic/bsHv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录