Приложение открыто, открывая несколько окон в сикули

Привет, ребята, мне понравился этот sikuli, но я обнаружил одну проблему, связанную с app.open, а также с app.focus.

Вот мой код. В моем коде есть одна строка для тестирования приложения Weatherer.open или фокуса на одном экземпляре.

  App.open("C:\\program file\internet explorer\\iexplore.exe")
  Or 
  App.focus("C:\\program file\internet explorer\\iexplore.exe")

И app.open, и app.focus открывают проводник несколько раз, например: - предположим, что не какой-либо проводник открыт в первом app.open или сфокусируйте его, откройте проводник, теперь повторно запустите код, чтобы он снова открыл проводник, т.е. теперь у меня есть экземпляр проводника.

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


person bipin    schedule 01.02.2019    source источник


Ответы (1)


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

Проверьте ссылку ниже для точного объяснения того, как работает команда окна:

https://sikulix-2014.readthedocs.io/en/latest/appclass.html#window

myApp = App("Notepad.exe")
while(myApp.window() is not None):
    myApp.close()
    myApp = App("Notepad.exe")
person Aji    schedule 06.03.2019
comment
Добро пожаловать в SO, этот ответ низкого качества, вы должны объяснить свой код, как вам удалось решить эту проблему? - person Basel Issmail; 06.03.2019
comment
Привет, Базель. Спасибо за прием. Но ответ довольно прямолинейный, я подумал о дополнительных объяснениях. Если окно приложения не возвращает none, т. е. оно существует, закройте экземпляр. Извините, если это не было более пояснительным. Я отредактирую ответ. - person Aji; 06.03.2019