在python中与电脑互动(鼠标+截图)

Interact with pc in python (mouse+screenshot)

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

-截屏 - 在此屏幕截图上识别对象(使用 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)

如他们网站上所述:

On a 1920 x 1080 screen, the locate function calls take about 1 or 2 seconds. This may be too slow for action video games, but works for most purposes and applications.

所以记住这一点。