Итак, я использовал метод captureScreenshotToString, который немного отличается, но все же предоставляет средства для получения снимка экрана из удаленного экземпляра селена.
Существенным отличием / проблемой этого подхода является то, что он требует, чтобы сервер selenium был разблокированным сеансом Windows, чтобы он мог получить доступ к буферу отображения для доступа к физическому экрану. Это создало проблемы с моими безголовыми машинами с сеткой селена, с которыми я удаленно работаю для администрирования / устранения неполадок.
Чтобы обойти эту проблему, я использовал сценарий автолога для этой статьи MSDN и настройте задачу для перезагрузки компьютера после завершения сеанса удаленного рабочего стола.
Чтобы настроить автозапуск после отключения удаленного рабочего стола:
- Открыть планировщик задач
- Создать новое задание (Создать задание ...)
- Установите имя задачи «Автоматический перезапуск после отключения удаленного рабочего стола»
- На вкладке Общие измените пользователя на NT AUTHORITY \ SYSTEM
- Перейдите на вкладку Триггеры, нажмите Новый ..., чтобы создать новый триггер
- Установите для параметра «Начать задачу» значение «При отключении от сеанса пользователя»
- По умолчанию это будет для любого пользователя и с удаленных компьютеров, что именно то, что мы ищем.
- Перейдите на вкладку Actions, нажмите New ..., чтобы создать новое действие
- Выберите действие для запуска программы. Установите для программы значение «C: \ Windows \ System32 \ shutdown.exe», а затем добавьте «/ r / f / t 5» (перезапуск, принудительное завершение работы приложений, подождите 5 секунд для перезапуска).
Справедливое предупреждение, это не самый безопасный способ сидеть за компьютером