[sikuli]-while循环以及popup弹出窗

这里以sns例,假如你想动态的知道好友是否更新的新的状态,你可以根据你的页面上是否存在他的图片来进行判断



while not exists( ):
        sleep(5)

如果你只是想判断这个图片是否存在,其实sikuli提供了一个wait的方法来进行判断

wait( , FOREVER)

如果我们不想等太久,我们可以限制一个合适的时间,例如等上一个小时

wait( , 3600) # wait for an hour

当好友图片出现时,我们可以给予一个信息

popup("Obama has updated his message")

将按照下面的形式显示信息:

 

二、下面将用skype为例,介绍如何实时获知好友下线,并给予下线通知


我们可以写一下下面的循环脚本来进行判断,如果在线状态不存在的时候,popup提示你

1while exists( ):
2        sleep(5)
3
4popup("vgod just logged off")

上面的脚本有点象曾经的联系,其实我们可以使用waitVanish函数来搞定此事

1waitVanish( , FOREVER)
2popup("vgod just logged off")

三、再下面我们使用bus到达通知来做一点例子,如果bus到达了就会在地图中显示


这里例子呢,我们只要扫描地图那部分内容即可了,所以没必要耗费性能去扫描全屏,我们使用一下下面的功能,建立屏幕区域。


选择后,你IDE里的被选择区域将会变暗,这个时候所有的扫描都会在该区域内进行。




下一步,我们可以截取一下bus到达的标记,用来告诉sikuli我们一直在悄悄观察你是否到达啦,哈哈。


现在我们可以写一点脚本来查看bus的标记是否在地图中出现

1while not .inside().exists():
2        sleep(5)
3popup("bus has arrived")

相同的效果,如果我们使用wait函数的话应该这样写

1 .inside().wait( ,FOREVER)
2popup("bus has arrived")

OK,本章结束,有疑问请留言。

 

你可能感兴趣的:(sikuli)