Почему pyautogui не работает на VPS?

На VPS установлен скрипт который использует модуль pyautogui
При использовании функции pyautogui.locateCenterOnScreen выдаёт ошибку:
a = pyautogui.locateCenterOnScreen(iname, confidence =.7)
  File "C:\Python27\lib\site-packages\pyscreeze\__init__.py", line 295, in locateCenterOnScreen    
coords = locateOnScreen(image, **kwargs)
  File "C:\Python27\lib\site-packages\pyscreeze\__init__.py", line 265, in locateOnScreen
    screenshotIm = screenshot(region=None) # the locateAll() function must handle cropping to return accurate coordinates, so don't pass a region here.
  File "C:\Python27\lib\site-packages\pyscreeze\__init__.py", line 313, in _screenshot_win32
    im = ImageGrab.grab()
  File "C:\Python27\lib\site-packages\PIL\ImageGrab.py", line 41, in grab
    size, data = grabber()
IOError: screen grab failed

Если смотрю через RDP то никаких проблем. Как только закрываю RDP опять эта ошибка

Даже этот код не работает:
im1 = pyautogui.screenshot()
im1.save('my_screenshot.png')
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
Потому что когда закрывается сеанс RDP - винда прекращает обработку экрана - тоесть неоткуда сделать скриншот.
Вам нужно придумать другое решение для вашей задачи или обрабатывать отключения от RDP.

Предлагаю попробовать https://pywinauto.github.io/ который работает через опрос контролов в WinAPI - возможно он более подходит для задачи.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы