最近和跟着同事一起玩阴阳师,发现这个游戏有太多重复操作了,这完全就是浪费生命啊;所以想到用python写一个自动挂机脚本。
最开始想得很简单,就是一直去找相应得按钮,然后点击就可以了。所以直接用pyautogui的图片定位和点击功能就行了,也确实实现了,代码如下:
import pyautogui,time pyautogui.FAILSAFE = True '''PyAutoGUI提供了一个保护措施。当pyautogui.FAILSAFE = True时,如果把鼠标光标在屏幕左上角, PyAutoGUI函数就会产生pyautogui.FailSafeException异常,用于在程序失控时退出''' time.sleep(2) def get_point(picture): '''精确匹配某个按钮的位置;通过传入图片获取图片在屏幕上的定位,一旦获取到值则退出,否则继续尝试''' picture = './img/' + picture count = 5 while count > 0: point = pyautogui.locateCenterOnScreen(picture) if point is not None: return point else: count -= 1 def get_range(picture): '''用模糊匹配得到某个按钮的大概位置,一般是在那种点击屏幕任意位置的情况,或只需要知道某个按钮在不在当前屏幕的情况使用 要动的图片采用模糊匹配,否则精确匹配的话,图片一直在动像素也在变化,就不能定位到了''' picture = './img/' + picture count = 5 while count > 0: range = pyautogui.locateCenterOnScreen(picture, grayscale=True, confidence=0.5) if range is n