请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

浮层无法定位,权限弹框无法点掉

老师您好!
1、首先启动一个app,然后调用driver.back() 回到桌面
2、调用driver.start_activity(‘com.ichinait.gbpassenger’,’.splash.SplashActivity’)想要切换到“首汽约车”的app
3、企图通过xpath定位,点击掉弹出框,代码如下:
图片描述
4、问题出来了,换了很多方法都无法点掉弹框,始终报如下错误:
图片描述
图片描述
5、下图是弹出的弹框,是一个独立的图层,及时退出点击手机上的返回按钮,该弹窗也一直在,所以,怎样能够在切换到”首汽约车“的app后定位到弹框图层,并点击”允许“后弹窗消失呢?试了n种方法依然不行
图片描述
6、下图是其它的参考代码:
图片描述
图片描述
图片描述
希望老师能帮忙解决这个大难题,困扰我好久了,跪谢!

正在回答 回答被采纳积分+3

2回答

Mushishi 2018-12-11 19:48:24

这个很简单。如果你知道你得弹窗固定什么页面出来,那么你可以写一个函数 通过adb去点击。这个也是app自动化最常用得方式。

1 回复 有任何疑惑可以回复我~
  • 提问者 慕仔425662 #1
    老师,能给个范例吗?网上找不到呢
    回复 有任何疑惑可以回复我~ 2018-12-12 12:48:02
  • 提问者 慕仔425662 #2
    是adb shell input tap 吗?只有这一种方法吗?只能通过坐标定位?
    回复 有任何疑惑可以回复我~ 2018-12-12 14:58:01
  • 提问者 慕仔425662 #3
    在driver.start_activity(‘com.ichinait.gbpassenger’,’.splash.SplashActivity’)前后分别加上了os.syste("adb shell input tap 600 1400")仍然报上述描述的问题,到底怎么弄啊,求助求助,呜呜呜
    回复 有任何疑惑可以回复我~ 2018-12-12 16:59:26
Mushishi 2018-12-27 10:04:33

adb shell input tap 对的,只能通过这个,因为每个权限得位置还不一样,所以只能这么操作。你跑app的时候在driver启动起来之前跑两个进程,有个进程就是一直去监控界面是否有权限的控制,如果有就处理。这里的处理就是一个方法,1、解析页面   2、看是否有允许、同意这类型的窗口。有就去解析这个坐标,然后点击。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信