首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sikuli中的org.sikuli.api.ScreenRegion错误意味着什么?

sikuli中的org.sikuli.api.ScreenRegion错误意味着什么?
EN

Stack Overflow用户
提问于 2014-09-25 03:21:04
回答 2查看 167关注 0票数 1

我使用的是Python2.7,并且我已经从here安装了sikuli_cpython。

我有一个简单的脚本:

代码语言:javascript
复制
from sikuli.sikuli import *

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

当我运行它时,我得到以下错误消息:

代码语言:javascript
复制
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__'

我知道在jython中使用了sikuli。我已经使用过sikuli ide,并且已经安装了jython 2.5.3。不过,我在使用jython easy_install sikuli时遇到了一些问题。

EN

回答 2

Stack Overflow用户

发布于 2014-11-12 00:02:24

我没有sikuli_cpython方面的专业知识。但是从sikuli ide (jython)的观点来看,对象symbol_image没有正确声明。find和click函数需要一个Pattern对象,就像您声明为字符串的方式一样。尝试:

代码语言:javascript
复制
symbol_image = Pattern('symbol.jpg')

但您可能需要提供图像目录的完整路径,并使用.png扩展名。

票数 0
EN

Stack Overflow用户

发布于 2015-08-27 13:44:06

当Sikuli试图在您的脚本所在的本地文件夹中定位图像文件"symbol.jpg“时,会出现上述错误。我认为通过将符号图像放在与脚本相同的文件夹中,这个错误就会消失。

Sikuli可以更好地处理图像的png文件格式。您还可以将图像包路径设置为一个文件夹位置,脚本可以在该位置找到测试脚本中使用的图像。

代码语言:javascript
复制
import os
from org.sikuli.script import ImagePath
img_path = os.path.join(<Project-directory>, <images_folder>)
ImagePath.setBundlePath(img_path)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26024812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档