Ошибка mss.exception.ScreenShotError: gdi32.GetDIBits() failed

Программа проверяет цвет с координат и если он совпадает делается клик на определённых координат, программа работает до определённого момента и вылетает ошибки:

Traceback (most recent call last):
  File "C:\Users\User\PycharmProjects\pythonProject\main.py", line 28, in <module>
    if get_color_rgb(1575, 375) == [0, 0, 0]:
       ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\PycharmProjects\pythonProject\main.py", line 16, in get_color_rgb
    img = m.grab(monitor)
          ^^^^^^^^^^^^^^^
  File "C:\Users\User\PycharmProjects\pythonProject\venv\Lib\site-packages\mss\base.py", line 90, in grab
    screenshot = self._grab_impl(monitor)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\PycharmProjects\pythonProject\venv\Lib\site-packages\mss\windows.py", line 252, in _grab_impl
    raise ScreenShotError("gdi32.GetDIBits() failed.")
mss.exception.ScreenShotError: gdi32.GetDIBits() failed.

Вот код:

import pyautogui as pg
import numpy as np
from mss import mss


def get_color_rgb(x, y):
    
    m = mss()
    monitor = {
        "left": x,
        "top": y,
        "width": 1,
        "height": 1,
    }
    
    img = m.grab(monitor)

    
    img_arr = np.array(img)
    item = img_arr[0][0]
    r = item[2]
    g = item[1]
    b = item[0]

    return [r, g, b]

while True:
    if get_color_rgb(1575, 375) == [0, 0, 0]:
        pg.click(1400, 545)
    if get_color_rgb(345, 375) == [0, 0, 0]:
        pg.click(520, 545)
    if get_color_rgb(345, 785) == [0, 0, 0]:
        pg.click(520, 895)
    if get_color_rgb(1575, 785) == [0, 0, 0]:
        pg.click(1400, 895)

Ответы (0 шт):