复制
def get_element_position(element_id, uidump_name): """ 通过元素的id,运用ElementTree,解析元素控件树,查找元素的坐标核心点 :param element_id: 元素id,比如: :return: 元素坐标 """ # 解析XML tree = ET.parse(V27;./../%s.VmlV27; % uidump_name) root = tree.getroot() # 待查找的元素 result_element = None # print(V27;查找数目V27;, len(root.findall(V27;.//nodeV27;))) # 遍历查找node元素 # 通过元素id for node_element in root.findall(V27;.//nodeV27;): if node_element.attrib[V27;resource-idV27;] == element_id: result_element = node_element break # 假如找不到元素,间接返回空 if result_element is None: print(V27;报歉!找不到元素!V27;) return None # 解析数据 coord = resspile(r"\d+").findall(result_element.attrib[V27;boundsV27;]) # 核心点坐标 position_center = int((int(coord[0]) + int(coord[2])) / 2), int((int(coord[1]) + int(coord[3])) / 2) return position_center