Как в SikuluX получить инфу о мониторах в системе

Иногда при автоматизации через SikuliX важно понимать, с каким именно монитором мы работаем. Например, если у вас несколько экранов, нужно задать координаты для поиска элементов или запускать сценарий на конкретном дисплее.

К счастью, в SikuliX это делается очень просто: библиотека умеет определять количество подключённых мониторов и получать их параметры.

Пример скрипта, который получает все мониторы, перебирает их в цикле и выводит информацию о разрешении каждого.

Что здесь происходит:

  1. Screen.getNumberScreens() — возвращает количество доступных экранов.
  2. [Screen(i) for i in range(num)] — создаёт список объектов Screen, каждый из которых соответствует монитору.
  3. getBounds() — даёт прямоугольную область (границы), в которой указывается разрешение экрана и его координаты в виртуальном пространстве рабочего стола.

Практическое применение

Это гарантирует, что действие произойдёт именно на втором мониторе (нумеруются с нуля).

Адаптивные сценарии

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

Отладка

При возникновении ошибок полезно вывести список всех доступных экранов и их параметры, чтобы убедиться, что SikuliX «видит» правильное окружение.

    Мало букафф? Читайте есчо !

    Основы программирования ботов на SikuliX

    Июнь 10, 2016 г.

    SikuliX имеет ряд особенностей, о которых я расскажу далее. Этот IDE разработан с целью автоматизации рутины, т.е. для создания роботов, в том числе и для игр. Скрипт не вмешивается в обмен данными по сети или работу игрового клиента. Он действует ...

    Читать

    Среда для разработки игровых ботов бесплатно и с открытым кодом

    Июнь 6, 2016 г.

    Многие браузерные и сетевые игры, игры в соц.сетях отличаются скучностью и однообразием "фарма". Игрок ставится перед выбором - "фармить" или заплатить. ...

    Читать
     

    Комментарии к «Как в SikuluX получить инфу о мониторах в системе»

    Понравилась статья? Есть вопросы? - пишите в комментариях.



    Комментарий: