Для того, чтобы каждый цикл начинал работу после завершения предыдущего, важно правильно управлять условиями и обновлением времени в циклах. Основная проблема в вашем коде — неверное обновление переменной `timeStart` после выполнения каждого действия внутри цикла. Кроме того, в вашем коде `break` останавливает цикл до того, как переменная `timeStart` обновляется.
Вам необходимо:
1. Переместить обновление `timeStart` перед `break`, чтобы обеспечить корректное обновление времени.
2. Пересчитывать `timeFinish` для каждого цикла, чтобы обеспечить, что каждый цикл длится нужное количество времени после своего начала.
Вот как можно модифицировать ваш код:
from datetime import datetime, timedelta
import pyautogui
# Первый цикл
timeStart = datetime.now()
timeFinish = timeStart + timedelta(seconds=30)
while datetime.now() < timeFinish:
button = pyautogui.locateOnScreen('C:\\img\\Fish1.1.png', confidence=0.5)
if button:
pyautogui.press("Space")
timeStart = datetime.now() # Обновляем timeStart перед выходом
break
# Второй цикл
timeStart = datetime.now()
timeFinish = timeStart + timedelta(seconds=30)
while datetime.now() < timeFinish:
button1 = pyautogui.locateOnScreen('C:\\img\\Fish1.22.png', confidence=0.6)
if button1:
pyautogui.press("Space")
timeStart = datetime.now() # Обновляем timeStart перед выходом
break
# Если требуется добавить больше циклов, повторяйте шаблон аналогично