Appium 用 appium 做 iOS 的 UI 自动化的时候会有 toast 提示 怎么去定位这个 toast 元素 抓取上面的信息 求大神解答急急急!!! 在线等!!!

王智强 · 2018年01月08日 · 最后由 pythonCN 回复于 2019年01月24日 · 3160 次阅读

用 appium 做 iOS 的 UI 自动化的时候会有 toast 提示 怎么去定位这个 toast 元素 抓取上面的信息 急急急!!! 在线等!!!
类似于下图的 “请确认转让份数!!”
是 iOS 的 不是安卓的!!!

共收到 16 条回复 时间 点赞

是 iOS 的 toast 提示 不是安卓的!!!

android 可以使用 uiautomator2,ios 的目前好像无法解决。

古丶月 回复

那社区里面 没有用 iOS 做自动化的时候 遇到过这个问题吗

这个提示应该是几秒自动消失的,可以尝试截图,靠定位的话几乎很难,速度没那么快

John 回复

是的 已经放缓了几秒钟的时间还是定位不到元素 iOS 和安卓的不太一样 安卓是自带的 toast 用截图的方法 太麻烦了

type=='XCUIElementTypeStaticText' AND name CONTAINS '份数',我们的 ios app 可以这么定位,不知道你们的是否一样,

John 回复

你好,在有 toast 提示的时候进行截图怎么去实现呀,我 i 感觉时间还是来不及,求大佬指点呀,先谢谢了

雨夜狂奔 回复

可否细讲一下

邢天俊 回复

这就是定位方法呀,ios 谓词,如果是 android 可以用 android uiautomator 的语法

雨夜狂奔 回复

我试着用你这个方法去抓元素,但是报错提示查不到此元素。不知能否加个 QQ 指导下😀 万分感谢

邢天俊 回复

Q 375744375

邢天俊 回复

你成功了吗?同样的问题,有些 toast 可以捕获,有些不能

pythonCN 回复

我用 ID 去抓取,情况和你一样有时候能抓取到有时候抓不到。ID 都是一样的,我估计是 toast 窗口跳转速度太快了导致抓不到

邢天俊 回复

我试过添加等待时间,一样的不行,应该不是这个等待时间的问题

pythonCN 回复

我的意思是 toast 的弹窗时间太短了才 0.5 秒不到,是不是这个原因导致的?

邢天俊 回复

我知道你的意思哈。目前我遇到的问题是,弹 “更新成功” 立马就定位成功,弹 “密码错误”,就是定位不到,两个弹窗的时间也是一样的。我用的定位(MobileBy.IOS_PREDICATE, "name == '更新成功'")

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册