python uiautomator2 遍历获取文本【app自动化爬虫】
import uiautomator2 as u2
def dump_texts(d: u2.Device, max_depth: int = 3):
"""递归遍历UI元素并打印文本内容"""
def _dump_texts_recursive(element, depth):
if depth > max_depth:
return
if element.text:
print(f"{' ' * depth}{element.text}")
for child in element.children():
_dump_texts_recursive(child, depth + 1)
# 获取根元素并开始递归遍历
root_element = d.dump()
_dump_texts_recursive(root_element, 0)
# 连接到设备
d = u2.connect('127.0.0.1:7912') # 假设uiautomator服务地址为127.0.0.1:7912
# 遍历设备上的所有文本
dump_texts(d)
这段代码使用了uiautomator2库来连接到一个Android设备,并使用dump_texts
函数递归遍历设备上的所有UI元素,打印出包含的文本内容。这是一个很好的学习示例,展示了如何使用这个库来获取和分析设备上的UI布局和文本信息。
评论已关闭