我想知道如果在Android设备的主屏幕上有特定坐标(例如(100,100))的小部件,是否可以使用UiAutomator API来确定。
是否有任何现有方法可以帮助我确定这一点?
答案 0 :(得分:-1)
AndroidViewClient/culebra实现ViewClient.findViewsContainingPoint()
,它返回包含指定点的视图列表。
使用culebra
生成脚本并在最后添加此调用以查找(544, 567)
处的观看次数为您提供类似的内容
#! /usr/bin/env python
# -*- coding: utf-8 -*-
'''
Copyright (C) 2013-2016 Diego Torres Milano
Created on 2016-07-19 by Culebra v11.5.9
__ __ __ __
/ \ / \ / \ / \
____________________/ __\/ __\/ __\/ __\_____________________________
___________________/ /__/ /__/ /__/ /________________________________
| / \ / \ / \ / \ \___
|/ \_/ \_/ \_/ \ o \
\_____/--<
@author: Diego Torres Milano
@author: Jennifer E. Swofford (ascii art snake)
'''
import re
import sys
import os
from com.dtmilano.android.viewclient import ViewClient
TAG = 'CULEBRA'
_s = 5
_v = '--verbose' in sys.argv
kwargs1 = {'ignoreversioncheck': False, 'verbose': False, 'ignoresecuredevice': False}
device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1)
kwargs2 = {'forceviewserveruse': False, 'useuiautomatorhelper': False, 'ignoreuiautomatorkilled': True, 'autodump': False, 'startviewserver': True, 'compresseddump': True}
vc = ViewClient(device, serialno, **kwargs2)
vc.dump()
print vc.findViewsContainingPoint((544,567))
如果你想使用UiAutomator在Java中实现它,只需复制实现,因为所有内容都可以或多或少地重现。