2016-07-07 7 views
0

Я просто оцениваю сикули для одного из наших тестов автоматизации. Я пытаюсь выполнить скрипт, который может найти местоположение изображения в регионе.Как получить координаты изображения в регионе в сикули?

Это сценарий .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 дает координаты, соответствующие всему экрану. То, что было бы идеально, - это получить местоположение относительно заданной области. Является ли это возможным? (Конечно, вы всегда можете вычесть, но просто было интересно, если есть какие-нибудь более хороший способ)

ответ

1

getTarget() метод, который вы используете, возвращает объект класса Location, что в данном случае указывает на центр текущегоMatch объекта. Этот матч не знает о Region, в котором он находился.

Единственный способ достичь вашей цели - ручной расчет. Это не должно быть сложной задачей, так как Sikuli предоставляет достойный API в отношении местоположений шаблонов. Взгляните на документацию here, чтобы получить представление.

 Смежные вопросы

  • Нет связанных вопросов^_^