微梦云-AI云控
更多分类

带你用 Python 实现自动化群控(入门篇)

2025-05-10

复制

def get_element_position(element_id, uidump_name): """ 通过元素的id,运用ElementTree,解析元素控件树,查找元素的坐标核心点 :param element_id: 元素id,比如: :return: 元素坐标 """ # 解析XML tree = ET.parse(&#V27;./../%s.Vml&#V27; % uidump_name) root = tree.getroot() # 待查找的元素 result_element = None # print(&#V27;查找数目&#V27;, len(root.findall(&#V27;.//node&#V27;))) # 遍历查找node元素 # 通过元素id for node_element in root.findall(&#V27;.//node&#V27;): if node_element.attrib[&#V27;resource-id&#V27;] == 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;bounds&#V27;]) # 核心点坐标 position_center = int((int(coord[0]) + int(coord[2])) / 2), int((int(coord[1]) + int(coord[3])) / 2) return position_center