背景
最近在用appium做安卓APP自动化的时候,发现一个有点坑的地方计算,有些元素clickable为false,导致该元素无法进行交互,就是你不管去调用什么driver.click还是driver.tap都无法和目标元素进行交互,但是恰好该元素实际用手去点的时候又能够交互成功,当时搞了好久都不行。
例如如下这个app,我发现有类似的现象:
我想点击第一个不用登录,但是恰好这是一整个元素,而且没有合适的resource-id和class导致不管怎么用appium中的方法都无法交互。
解决办法
最后无意间通过adb命令直接点击某个像素点成功实现交互,目前暂不清楚原理,只要解决了问题就好,以后遇见比如调用click还是swip方法的时候,界面实际没有交互成功大家可以直接用adb命令试一下。
命令如下:
os.system("adb -s {} shell input tap 720 355".format(self.udid))