pywinauto通过图片定位怎么更加精准的识别图片?
pywinauto通过图片定位怎么更加精准的识别图片?
可以使用置信度的配置,添加了对比图片相似程度达到多少就可以认为是合适的定位图片
import time
from time import sleep
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
from pywinauto import mouse
import pyautogui#判断是否存在
def search_is_exist_image(image_address):try:button_location = pyautogui.locateOnScreen(image_address, confidence=0.8)return button_location is not Noneexcept Exception as e:logger.error(f'Error: {str(e)}')return False#间隔interval秒查询下元素image_address是否存在,超过time秒则停止
def search_is_exist_with_timeout(image_address, timeout, interval):start_time = time.time()while True:if search_is_exist_image(image_address):return Trueif time.time() - start_time > timeout:return Falsetime.sleep(interval)#间隔interval秒查询下多个元素image_address是否存在,超过time秒则停止
def search_is_exist_images_with_timeout(image_address_list, timeout, interval):start_time = time.time()while True:for index,image_address in enumerate(image_address_list):if search_is_exist_image(image_address):return indexif time.time() - start_time > timeout:return Nonetime.sleep(interval)#查找到元素并点击
def search_click(image_address):try:button_location = pyautogui.locateOnScreen(image_address, confidence=0.8)if button_location is not None:button_center = pyautogui.center(button_location)pyautogui.click(button_center) except Exception as e:logger.error(f'Error: {str(e)}')#查找到元素并移动上去
def search_move(image_address):try:button_location = pyautogui.locateOnScreen(image_address, confidence=0.8)if button_location is not None:button_center = pyautogui.center(button_location)pyautogui.moveTo(button_center, duration=0.5) except Exception as e:logger.error(f'Error: {str(e)}')