Я выполняю сервер Ubuntu 16 на Azure. Я установил Apache2, затем я пытался выполнить код Python, который делает снимок экрана, и сохраните его на текущем каталоге. Код, который, как предполагают, сделал снимок экрана от моей веб-страницы. Но когда я выполняю его, я получаю эту ошибку в журнале:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/mss/linux.py", line 132, in __init__
display = os.environ['DISPLAY'].encode('utf-8')
File "/usr/lib/python3.5/os.py", line 725, in __getitem__
raise KeyError(key) from None
KeyError: 'DISPLAY'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/mss/factory.py", line 34, in mss
return MSS(**kwargs)
File "/usr/local/lib/python3.5/dist-packages/mss/linux.py", line 134, in __init__
raise ScreenShotError('$DISPLAY not set.', locals())
mss.exception.ScreenShotError: ('$DISPLAY not set.', {'display': None, 'self': <mss.linux.MSS object at 0x7f06ce881d30>})
Я искал много, и наконец я узнал ту эту ошибку, связан с переменными $Display в Ubuntu. Таким образом, как зафиксировать это и позволить мой код, делают снимок экрана для моей веб-страницы и сохраняют его к моему текущему каталогу?
Чтобы сделать снимок экрана, Вам сначала нужна область просмотра, которую можно копировать к изображению. Если Вам нравится представлять Вашу веб-страницу непосредственно к изображению, я предлагаю pageres
-> https://github.com/sindresorhus/pageres. Страница Github покрывает установку. Также Firefox мог использоваться с некоторыми ограничениями. Существует хорошая статья веб-сайта командной строки screenshotting в booleanworld: Как Сделать Снимки экрана Веб-страниц из Командной строки