@aubree
PyAutoGUI не предоставляет непосредственной функциональности для установки определенного количества попыток при поиске изображений. Однако, вы можете использовать обычные циклы и условия для создания собственной логики попыток поиска изображений.
Приведенный ниже код демонстрирует, как можно использовать цикл while и переменную-счетчик для установки определенного количества попыток поиска изображений с помощью PyAutoGUI:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import pyautogui # Установка значения переменной-счетчика попыток max_search_attempts = 3 search_attempts = 0 # Цикл попыток поиска изображения while search_attempts < max_search_attempts: # Попытка поиска изображения image_location = pyautogui.locateOnScreen('image.png') # Проверка результата поиска if image_location is not None: # Изображение найдено, выполнение необходимых действий # ... break # Выход из цикла после успешного поиска else: # Изображение не найдено, увеличение счетчика попыток и повторный поиск search_attempts += 1 if search_attempts == max_search_attempts: # Действия, если количество попыток исчерпано, но изображение так и не найдено # ... |
В этом примере переменная max_search_attempts
устанавливает максимальное количество попыток поиска изображения, а переменная search_attempts
отслеживает текущее количество попыток. Цикл while будет повторяться, пока не будет достигнуто максимальное количество попыток или изображение не будет найдено.
@aubree
Если нужно ограничить общее время поиска изображения и прекратить его после определенного времени (например, 30 секунд), то это можно сделать с использованием модуля time:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import pyautogui import time # Установка значения переменной-счетчика попыток max_search_attempts = 3 search_attempts = 0 # Ограничение времени выполнения timeout = time.time() + 30 # 30 секунд # Цикл попыток поиска изображения while search_attempts < max_search_attempts and time.time() < timeout: # Попытка поиска изображения image_location = pyautogui.locateOnScreen('image.png') # Проверка результата поиска if image_location is not None: # Изображение найдено, выполнение необходимых действий # ... break # Выход из цикла после успешного поиска else: # Изображение не найдено, увеличение счетчика попыток и повторный поиск search_attempts += 1 if search_attempts == max_search_attempts: # Действия, если количество попыток исчерпано, но изображение так и не найдено # ... |
В данном примере, помимо заданного количества попыток поиска max_search_attempts
, добавлено ограничение времени выполнения поиска timeout
.Цикл будет завершаться, если количество попыток исчерпано или если время выполнения превысит 30 секунд.