我有一个非常奇怪的问题,我以前在 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 语句中的预期单击,但随后它也会立即执行 except 语句。
我们两台机器之间的唯一区别是我运行的是枕头 3.1.1,而它不能运行的机器是枕头 3.3.0。
我的直觉是发生了一些变化,没有在点击时返回触发异常的成功标志。我不知道为什么会这样,因为所有枕头都用于图像识别。
诚然,我对错误捕捉还是很陌生,我不确定从哪里继续。任何帮助将不胜感激。
编辑:在异常中调用click函数的原因是为了消除加载屏幕期间的等待语句。取决于正在处理的数据量,很难对延迟进行预编程。