2013-05-13 21 views
1
l = find("Start_menu.png").similar(0.5).anyColor() 
click(l) 

以上是我的代碼摘錄。 「Start_menu.png」是指Windows開始菜單的圖像。我執行此操作時出現以下錯誤:錯誤調用Sikuli類似()

File "C:\Users\VPRAVE~1.TSI\AppData\Local\Temp\sikuli-tmp8636618870597770744.py", line 1, in 
l = find("1368426219510.png").similar(0.5).anyColor().anySize() 
AttributeError: 'org.sikuli.script.Match' object has no attribute 'similar' 

有人能幫我解決嗎?有人能告訴我如何使用anyColor()anySize()

回答

2

find嘗試在被調用時發現某些內容。因此,你的代碼用散文形式說的是「找到類似'Start_menu'的東西,然後讓你發現的東西類似於0.5,然後製作任何顏色」

這是錯誤的 - 你不能設置事實之後的相似性閾值。相反,請撥打電話Sikuli docs

而是說:

l = find(Pattern("Start_menu.png").similar(0.5)) 

下面是相同的代碼垂直排列:

pattern = Pattern("Start_menu.png") 
pattern.similar(0.5) 
l = find(pattern) 

另一個問題是你的參考anyColor()功能,它不存在。我看到您要運行的代碼來自「Sikuli:使用搜索和自動化的GUI屏幕截圖」(鏈接自Sikuli docs),但此功能(以及該論文中使用的語法)並不存在於任何現有版本中Sikuli的。您可以在Sikuli launchpad page上看到一個打開的功能請求。

雖然這並沒有幫助你。我不知道另一個視覺自動化包可以anyColor。如果你想使用該功能來提供某些功能,我建議你在描述你想要解決的問題時提出一個新問題,並且有人可能會針對該具體情況提出解決方法。

+0

我嘗試了兩個,都沒有工作。我收到一個錯誤,說「AttributeError:'org.sikuli.script.Pattern'對象沒有屬性'anyColor'」。此外,當我在Sikuli X-1.0rc3中輸入anyColor()和anySize()時,沒有看到任何顏色變化,與click(),find()等預定義函數相反 – 2013-05-14 05:20:18

+0

@Praveenkumar你是對的。我只是認爲這是一個你未知的未記錄功能,並沒有檢查。是什麼讓你認爲'anyColor'函數存在?是否有一些你正在閱讀的文檔引用它? – 2013-05-15 09:47:37

+0

。在第6頁,你會發現anyColor()和anySize()函數。此鏈接已在 2013-05-16 09:07:19