在python中与PC交互(鼠标和屏幕截图)

时间:2019-03-01 14:13:07

标签: python mouse cv2 pynput

我正在编写一个与PC交互的机器人。简而言之,我要做的是:

-截取屏幕截图 -在此屏幕截图上识别对象(使用cv2 matchTemplate)
-使用找到的位置进行一些鼠标操作(例如:将鼠标指针移到上一点找到的图标上)
-从第一点重新开始

现在,我必须与屏幕上移动中的某些对象进行交互,因此我需要一种快速的方式来截取屏幕截图,或者需要另一种方式来完成此工作,该怎么办?

1 个答案:

答案 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   秒。对于动作视频游戏来说,这可能太慢了,但适用于   大多数用途和应用。

请记住这一点。