最近在学习 appium + Python,在元素定位的时候用到了 xpath,心中充满疑惑,搜寻了很多资料还是没有完全明白,请大家帮忙答疑解惑,感谢!
前提:
想要打开手机中的设置 app,找到"语言和输入法",进入切换语言。但是设置中的列表元素,id 和 classname 都相同,所以想到使用 xpath。
疑问:
1. 相同元素在不同页面时,对应的 xpath 是不一样的吗? (比如设置中的 “语言和输入法”,上下滑动页面时,它会在页面的不同位置,它的 xpath 也会不同吗?如果不同,那在不同分辨率的手机上,元素就定位不到啦?这个不就和坐标定位一样了? 很是疑惑 )
2. 像这种 id 和 classname 都相同的元素,如何滑动页面,寻找到对应元素呢?之前有尝试过 text,但如果切换语言,对应的 text 也会改变
3. 如果运行过程中 app 发生了 crash,怎么发现并让代码继续执行呢? 难道要每执行一步,都写 try... except...吗?
暂时遇到这几个问题,已经纠结了很久了,感谢回答!