我只是在为我们的一项自动化测试评估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给出了与整个屏幕对应的坐标。什么是完美的是获得相对于设定区域的位置。可能吗? (当然你总是可以减去但只是想知道是否有更好的方法)
答案 0 :(得分:1)
您正在使用的getTarget()
方法返回类Location
的对象,在这种情况下,该对象指向当前 Match
对象的中心。此匹配不知道它所在的Region
。
实现目标的唯一方法是手动计算。它应该是一项复杂的任务,因为Sikuli在模式位置方面公开了一个不错的API。请查看文档here以获得一些想法。
答案 1 :(得分:0)
也许您正在寻找.getX()
和.getY()
。