sikuli优先观察多个图像

时间:2018-02-23 13:38:33

标签: python sikuli

我已经定义了一个sikuli模块,用于在区域内出现某些内容时点击图像。

# observer.py

from sikuli import *

class Observer:

    # When "observedImage" appears inside "region", double click on "reactImage"
    def __init__(self, region, observedImage, reactImage):
        self.region = region
        self.observedImage = observedImage
        self.reactImage = reactImage

    def start(self):
        self.region.onAppear(self.observedImage, self.appearHandler)
        self.region.observe(FOREVER, background = True)

    def appearHandler(self, event):
        doubleClick(self.reactImage)
        event.repeat()

    def stop(self):
        self.region.stopObserver()

以下是如何使用它:

import observer
import time

observer.Observer(Region(111,222,333,444), "imageToBeDetected1.png", "imageToBeClicked1.png").start()
observer.Observer(Region(555,666,66,666), "imageToBeDetected2.png", "imageToBeClicked2.png").start()

while True:
  print('waiting')
  time.sleep(1)

上述代码的问题是当imageToBeDetected1imageToBeDetected2分别出现在Region(111,222,333,444)Region(555,666,66,666)时,我的鼠标会在imageToBeClicked1imageToBeClicked2之间移动imageToBeDetected1。我希望在这种情况下只能点击imageToBeDetected2

imageToBeDetected1imageToBeDetected2分别出现在Region(111,222,333,444)Region(555,666,66,666)时,

imageToBeDetected1应该被忽略。

如何修改我的代码,以使imageToBeDetected2的优先级高于a

或者有更好的方法来观察使用sikuli的多个图像吗?

0 个答案:

没有答案