2015-10-19 33 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個條紋製作圖片。