我正在编写与PC交互的机器人。简而言之,我要做的是:
- 获取屏幕的屏幕截图 - 在此屏幕截图上识别一个对象(带有CV2 MatchTemplate)
- 使用找到的位置制定一些鼠标动作(例如:在上几个点找到的图标上移动鼠标指针)
- 从第一点开始
现在,我必须与屏幕上移动中的某些对象进行互动,因此我需要一种快速的方法来拍摄屏幕截图或另一种方法来完成这项工作,我该怎么办?
您可以使用模块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 秒。对于动作视频游戏而言,这可能太慢了,但适用于 大多数目的和应用程序。
所以请记住这一点。