2016-07-07 144 views
0

我只是为我们的自动化测试评估sikuli。我试图执行一个脚本,可以找到一个区域中的图像的位置。如何获取sikuli区域内图像的坐标?

这是我写的.sikuli脚本。

match = find("regionImage.png") # The actual image here. 
z = match.findAll("requiredImage.png") 
for icon in z: 
    print icon.getTarget() 
    click(icon) 
    time.sleep(3) 

#Output 
L(693,464)@S(0)[0,0 1920x1080] 
L(693,519)@S(0)[0,0 1920x1080] 

,我遇到的问题是getTarget方法给出对应于整个屏幕的坐标。什么是完美的是获得相对于设定区域的位置。可能吗? (Ofcourse你总是可以减去但如果有什么比较好的办法只是想知道)

回答

1

getTarget()方法所使用的回报Location类的对象,在这种情况下,点当前Match物体的中心。此匹配不知道它位于的Region

实现您的目标的唯一方法是手动计算。由于Sikuli在模式位置方面暴露了体面的API,因此它不应该是一项复杂的任务。看看文档here来得到一些想法。

0

也许您在寻找.getX().getY()