1
l = find("Start_menu.png").similar(0.5).anyColor()
click(l)

以上是我的代码的摘录。“Start_menu.png”是指 Windows 开始菜单的图像。执行此操作时出现以下错误:

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()andanySize()吗?

4

1 回答 1

2

find当它被调用时试图找到它。所以你的代码在散文中说的是“找到看起来像'Start_menu'的东西,然后让你找到的东西 0.5 相似,然后让它变成任何颜色”

这是错误的——你不能事后设置相似度阈值。相反,请按照Sikuli 文档中的说明调用它。

相反,说

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 文档链接),但是这个函数(以及该论文中使用的语法)不存在于任何现存的斯库里的版本。您可以在Sikuli 启动板页面上看到它的开放功能请求。

不过,这现在对您没有帮助。我不知道另一个可以做到的视觉自动化包anyColor。如果您想将该功能用于某事,我建议您提出一个新问题,在其中描述您要解决的问题,并且有人可能会针对该特定情况提出解决方法。

于 2013-05-13T19:14:15.347 回答