2015-10-19 32 views
0

这里是我需要做的。请让我知道我应该添加或更改。如何在Findfailed提示之前扫描图像

问题:在我遇到的任务中,有时会出现一个带有滑块的随机弹出窗口。当这个弹出时,Sikuli会抛出FindFailed异常。相反,我希望此脚本扫描图像并执行幻灯片操作,然后重试查找之前查找的内容。我很确定这只是我需要在代码顶部添加的几行代码。

示例:假设它找不到5.png,它将会提示询问用户输入。相反,我希望它搜索图像,然后执行幻灯片操作,然后再次开始寻找图像5.png并继续。下面

代码:

Region(example Region) 
setFindFailedResponse(PROMPT) 
Settings.MoveMouseDelay=0 
click("1.png") 
click("2.png") 
click("3.png") 
click("4.png") 
click("5.png") 
click("6.png") 
click("7.png") 

回答

0

也许你可以做一个循环检测,如果一定弹出出现。
例如,您可以看看弹出式标题是否存在。
当这是True时,您可以使用PopUp = App.focusedWindow()
然后PopUp是定义的区域,只是弹出而已。

然后制作一个滑杆的图片,如果这个图片在PopUp内可见,您可以使用'mouseDown()'和mouseUp()
然后再看看该图像是否存在。

对于希望如果图像存在与否,你可以使用:

if exists(image5): 
    # Do something 
else: 
    # Do something else 

为了寻找弹出窗口内的图像,你可以使用:

if PopUp.exists(imageScrollbar): 
    # Do something 

当我让Sikuli使用滚动条我通常会为滚动条上的3个条纹制作图片。