2014-09-24 3 views
1

파이썬 2.7을 사용하고 있고 here에서 sikuli_cpython을 설치했습니다. 내가 그것을 실행하면sikuli에서 org.sikuli.api.ScreenRegion 오류는 무엇을 의미합니까?

from sikuli.sikuli import * 

symbol_image ='symbol.jpg' 
t = find(symbol_image) 
print t 
click(t) 

, 나는 다음과 같은 오류 메시지가 얻을 :

File "C:\Projects\sikuli1.py", line 112, in <module> 
    click(t) 
    File "C:\Python27\lib\site-packages\sikuli-0.1-py2.7.egg\sikuli\sikuli.py", line 61, in click 
    loc = Pattern(target_string).getLocation() 
    File "C:\Python27\lib\site-packages\sikuli-0.1-py2.7.egg\sikuli\sikuli.py", line 139, in getLocation 
    t = self.getTarget() 
    File "C:\Python27\lib\site-packages\sikuli-0.1-py2.7.egg\sikuli\sikuli.py", line 135, in getTarget 
    return self._get_target_from_string(self.target_string) 
    File "C:\Python27\lib\site-packages\sikuli-0.1-py2.7.egg\sikuli\sikuli.py", line 148, in _get_target_from_string 
    target_file_loc = self._find_local_file(target_string) 
    File "C:\Python27\lib\site-packages\sikuli-0.1-py2.7.egg\sikuli\sikuli.py", line 162, in _find_local_file 
    poss_relative_path = os.path.join(os.getcwd(), target_string) 
    File "C:\Python27\lib\ntpath.py", line 73, in join 
    elif isabs(b): 
    File "C:\Python27\lib\ntpath.py", line 57, in isabs 
    s = splitdrive(s)[1] 
    File "C:\Python27\lib\ntpath.py", line 125, in splitdrive 
    if p[1:2] == ':': 
TypeError: 'org.sikuli.api.ScreenRegion' object has no attribute '__getitem__' 

을 나는 sikuli 자이 썬에서 사용되는 알고

나는 간단한 스크립트가 있습니다. 이미 sikuli ide에서 작업했으며 jython 2.5.3을 설치했습니다. 하지만 jython easy_install sikuli를 사용하는 데 문제가 있습니다.

답변

0

나는 sikuli_cpython에 대한 전문 지식이 없습니다. 하지만 sikuli ide (자이 썬)의 관점에서 볼 때 객체 symbol_image은 올바르게 선언되지 않았습니다. find 및 click 함수는 Pattern 객체를 필요로합니다. 선언 한 방식은 문자열로 보입니다. 시도 :

symbol_image = Pattern('symbol.jpg') 

하지만 이미지 디렉토리에 전체 경로를 제공하고, 확장 .png를 사용해야 할 수도 있습니다.

0

Sikuli가 스크립트가있는 로컬 폴더에서 이미지 파일 "symbol.jpg"를 찾으려고 할 때 위의 오류가 발생합니다. 스크립트와 같은 폴더에 심볼 이미지를 넣으면이 오류가 사라질 것입니다.

Sikuli는 이미지 용 PNG 파일 형식에서 더 잘 작동합니다. 또한 스크립트가 테스트 스크립트에 사용 된 이미지를 찾을 수있는 폴더 위치로 이미지 묶음 경로를 설정할 수 있습니다.

import os 
from org.sikuli.script import ImagePath 
img_path = os.path.join(<Project-directory>, <images_folder>) 
ImagePath.setBundlePath(img_path)