Sikuli
我需要检查一个特定区域是否存在我想要点击的图像,并且图像会随机显示,我编写代码来检查,但是检查区域需要10秒以上,无论如何我可以缩短时间。
Settings.MinSimilarity = 0.95
Reg = Region(582,404,214,187)
img = capture(Reg)
search = True
Settings.MoveMouseDelay = 0
while search :
if Reg.exists("12.png") or Reg.exists("13.png") or Reg.exists("14.png")or Reg.exists("15.png")or Reg.exists("28.png"):
click(Reg.getLastMatch())
search = False
答案 0 :(得分:0)
您可以在0
来电中添加exists()
参数。
所以而不是
if Reg.exists("12.png") or Reg.exists("13.png") or Reg.exists("14.png")or Reg.exists("15.png")or Reg.exists("28.png"):
你会:
if Reg.exists("12.png",0) or Reg.exists("13.png",0) or Reg.exists("14.png",0)or Reg.exists("15.png",0)or Reg.exists("28.png",0):
根据this,零参数表示
0作为存在的第二个参数强制,只执行一次搜索并立即返回结果。它没有等待标准的3秒,所以它非常敏感。
区域越小,它就越快。
答案 1 :(得分:0)
尝试一下:
Reg.setAutoWaitTimeout(0.5)
这将检测时间从3秒减少到0.5秒或您想要的值。