sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #32702
[Bug 1201280] Re: [1.0.1] OnAppear()/observe() only works the first time for one image in same region
That solved my problem, but created another.
onAppear does not seem to refresh getLastMatch(), and there seems to be
no way to pass the image that triggered onAppear to my handler. So the
hander is triggered, but has no idea where to click in order to process
operations.
Is there a workaround for this?
The documentation talks about explicit operations like find() and
implicit operations like click() setting getLastMatch(), but onAppear()
does not seem to do this.
I can't imagine this is by design, is this a documented bug, or am I
missing a key concept?
Thanks for your help.
--
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1201280
Title:
[1.0.1] OnAppear()/observe() only works the first time for one image
in same region
Status in Sikuli:
Fix Committed
Bug description:
--- fixed with 1.1.0
see the docs:
http://sikulix-2014.readthedocs.org/en/latest/region.html#observing-visual-events-in-a-region
for how to repeat onAppear()/onVanish() in the same observe run
---------------------------------------------------------------
my purpose is to deal w/ 1 button which will appear several times in a game(actually it is the angrybird game) ,then i used the onappear()/observe() but ir can just deal w/ the 1 time the button shows ,following shows can not be deal ,below is my test code ,
what i think is that it can deal each time when button shows until the script end.
below is my test code :
def myHandler(event):
click("1373853815762.png")
wait(5)
Settings.ObserveScanRate=1
onAppear(("1373853815762.png"),myHandler)
observe(FOREVER,background = True)
for i in range(1,5000):
print "testing....."
wait(5)
To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1201280/+subscriptions
References