Итак, я редактировал свой большой скрипт автоматизации, когда мне нужно было изменить место в коде для следующего кода. Поместив код в верхнюю позицию скрипта, я неожиданно начал получать следующую ошибку:
File "C:\Users\User\Desktop\clicker.py", line 198, in <module>
while a[i] != None:
IndexError: list index out of range
Я попытался проверить индексы, но они выглядят нормально. Я понятия не имею, как отлаживать это дальше .. Что странно, ошибка отображается в конце цикла while (я знаю, как ее исправить, если она будет показана только в начале). Это означает, что каждая обнаруженная координата в списке выполняется, и она терпит неудачу в самом конце, когда больше не существует координат. Мой код:
# convert broken xls to working xlsx
pyautogui.click(x=75, y=746)
sleep(1)
pyautogui.click(pyautogui.locateCenterOnScreen('C:/Users/User/Documents/Clicker/downloads.png'))
sleep(3)
a = list(pyautogui.locateAllOnScreen('C:/Users/User/Documents/Clicker/excel.png'))
i=0
while a[i] != None:
x, y = pyautogui.center(a[i])
pyautogui.click(x, y, clicks=2)
sleep(4)
pyautogui.click(pyautogui.locateCenterOnScreen('C:/Users/User/Documents/Clicker/yes.png'))
sleep(2.5)
try:
pyautogui.click(pyautogui.locateCenterOnScreen('C:/Users/User/Documents/Clicker/editing.png'))
except TypeError:
print("No need to press editing mode")
# click file
pyautogui.click(x=29, y=50)
sleep(1)
# click save as
pyautogui.click(x=50, y=312)
sleep(1)
# click on drop down menu
pyautogui.click(x=814, y=177)
sleep(2)
# select .xlsx
pyautogui.click(x=814, y=200)
sleep(1)
# click save
pyautogui.click(x=920, y=170)
sleep(2)
# close excel
pyautogui.click(x=997, y=14)
sleep(2)
i+=1
#-----EXCEL------------