我正在编写一个与PC交互的机器人。简而言之,我要做的是:
-截取屏幕截图
-在此屏幕截图上识别对象(使用cv2 matchTemplate)
-使用找到的位置进行一些鼠标操作(例如:将鼠标指针移到上一点找到的图标上)
-从第一点重新开始
现在,我必须与屏幕上移动中的某些对象进行交互,因此我需要一种快速的方式来截取屏幕截图,或者需要另一种方式来完成此工作,该怎么办?
答案 0 :(得分:2)
您可以使用PyAutoGUI模块!
它具有屏幕截图功能:
pyautogui.screenshot('my_screenshot.png')
鼠标移动并单击:
pyautogui.moveTo(100, 200)
pyautogui.click()
以及屏幕上的基本图像位置:
button_location = pyautogui.locateOnScreen('button.png')
因此,如果您想单击屏幕上的特定图像,则可以运行:
x, y = pyautogui.locateCenterOnScreen('form_button.png') # Gets coords of center of image
pyautogui.click(x, y)
如其网站上所述:
在1920 x 1080屏幕上,定位功能调用大约需要1或2 秒。对于动作视频游戏来说,这可能太慢了,但适用于 大多数用途和应用。
请记住这一点。