【问题标题】:Can we copy text after a image from unicode file in Sikuli?我们可以在 Sikuli 中的 unicode 文件中复制图像后的文本吗?
【发布时间】:2014-06-10 20:52:09
【问题描述】:

我有一个文件内容如下

<?xml version='1.0' encoding='UTF-8'?><cont:ContactId><all:Individual.partyId>10028305</all:Individual.partyId></cont:ContactId><all:applicationId>C18400</all:applicationId>

我需要从该文件中复制“C18400”并在 SIKULI 的输出中打印。请让我知道我们是否可以使用 python 脚本来获取输出,或者有没有其他方法可以做到这一点。也让我知道我们是否可以为此使用 sikuli 图像捕获,但是我在输出中需要的这个应用程序 id 是动态的,并且会不断变化。

我使用了下面的python脚本,但是没有用

代码:

with open("D:\\SODS.txt","r") as fp:
    for line in fp:
        if "applicationId" in line:
            print "true"
            print re.search(r"applicationId\>(.+?)\<",fp)

错误:

TypeError: 预期的 str 或 unicode 但得到了

【问题讨论】:

  • 这和Sikuli有什么关系?看起来您只需要在 Python 中读取一个 XML 文件。搜索“Python XML”并选择一个 XML 解析库。
  • @user3571567:我相信您知道 Sikuli 主要基于 Python,这就是 Nathaniel Waisbrot 建议查找 Python XML 的原因。当您需要任何计算能力并且您没有使用 Sikuli 的图形识别组件时,常规 Python 将是您的选择。话虽这么说 - 哪条线给出了错误?你的输出是什么样的(或者你什么都没有?)

标签: python-2.7 sikuli


【解决方案1】:

实际上我的文件如下所示

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 <soapenv:Body>
  <cont:CreateContactResponse xmlns:cont="http://DataModelContactManagement" xmlns:all="http://MID/Business/0.1/All" xmlns:com="http://SOA/1.0/Common">
     <com:status>0</com:status>
     <com:description/>
     <cont:ContactId>
        <all:MIDBusCm.Individual.partyId>10028310</all:MIDBusCm.Individual.partyId>
     </cont:ContactId>
     <all:MIDBusCu.CustomerOrder.applicationId>C18403</all:MIDBusCu.CustomerOrder.applicationId>
  </cont:CreateContactResponse>

我尝试了下面的 PYTHON 脚本

import xml.etree.ElementTree as ET
data = open("D:\\Pravina\\Projects\\Meteor\\Automation\\API\\SODS.txt", 'r')
tree = ET.parse(data)
doc = tree.getroot()
print doc

 rootText='.//{http://'SOA'/1.0/Common}'
 errorCode=tree.find(rootText + 'status').text
 print errorCode

使用上面的代码,我得到的输出是

"/schemas.xmlsoap.org/soap/envelope/}信封处> 0"

在我的情况下,输出应该是“C18403”,它位于标签“all:MIDBusCu.CustomerOrder.applicationId”之间。

如果我在这里遗漏了什么,请告诉我?

【讨论】:

    猜你喜欢
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    相关资源
    最近更新 更多