Фокусировка на окно браузера при использовании Selenium
используется программа для автоматизации работы в нескольких браузерах гугл хром с использованием Selenium, столкнулись с проблемой, что при сворачивании браузера, действия в нем прекращаются, и программа автоматически перезагружает вкладку, для повторного выполнения кода, после чего браузер разворачивает свернутое окно, так же, у некоторых пользователей(примерно 50%), браузеры останавливают работу, даже если накладываются друг на друга.
Пробовал различные параметры запуска по типу: --disable-background-timer-throttle
--disable-infobars
--disable-popup-blocking
--disable-features=CalculateNativeWinOcclusion
--disable-backgrounding-occluded-windows
--disable-notifications
В настройках самой windows, мы так и не нашли решение проблемы, хотя бы того, что у некоторых пользователей браузеры не работают, даже если поверх них, есть любое окно. Использование режима Headless к сожалению не возможно в нашей ситуации, единственное что частично помогло, это перемещение браузеров на координаты за пределами экрана, где они не мешают друг другу, но при этом, у тех же 50% пользователей, из за этого, при выполнении действий в браузерах частично блокируется работа клавиатуры, той есть, в момент перезагрузки браузера или обновлении страницы, пропадает курсор введения текста и ввод останавливается.
Ответы (1 шт):
Для линукс
Используйте XNest или подобный сервер, запустите в нем отдельный оконный менеджер. Каждый селениум в своем дисплейном сервере.
Для виндовс сервер
Запустите сервер терминалов, создайте пользователей и откройте rdp сеансы, которые можно свернуть.
Для виндовс для рабочих станций
Поставьте виртуалку с линуксом и запустите там пачку сеансов с XVnc
Всё потому что
Клики и другие системные события передаются только в активную вкладку активного окна