У меня очень странная проблема, которую я раньше не видел в python.
У меня есть скрипт, который безупречно работает на одном компьютере, и когда я пытаюсь использовать его на другом, моя определенная функция дает сбой.
Я использую PyAutoGUI для автоматизации некоторых процессов.
import csv
import pyautogui
pyautogui.PAUSE = 0.50
pyautogui.FAILSAFE = True
#click function requires arguments ('fullPathToImage', "Error Identifier")
def click(fullPathToImage, error):
try:
pyautogui.click(pyautogui.center(pyautogui.locateOnScreen(fullPathToImage)))
except:
print(error, " not found, trying again")
click(fullPathToImage, error)
def start():
click('C:/projects/images/test.png', "test.png")
pyautogui.typewrite("This is my test text")
if __name__ == '__main__':
start()
Что происходит на этой другой машине, так это то, что когда она находит изображение, она перемещает мышь и щелкает, как и ожидалось в операторе try, но затем также немедленно выполняет оператор кроме.
Единственная разница между нашими двумя машинами в том, что я использую подушку 3.1.1, а та, на которой она не работает, — это подушка 3.3.0.
Мой инстинкт - это что-то изменилось, что не возвращает флаг успеха при щелчке, который вызывает исключение. Я не знаю, почему это так, поскольку вся подушка используется для распознавания изображений.
По общему признанию, я довольно новичок в отлове ошибок, и я не уверен, с чего продолжать дальше. Любая помощь будет принята с благодарностью.
edit: причина вызова функции щелчка в исключении состоит в том, чтобы исключить операторы ожидания во время загрузки экранов. в зависимости от количества обрабатываемых данных трудно запрограммировать задержки.