app小程序手机端Python爬虫实战08-UiSelector坐标定位方式和控件操作超时问题

发布于:2022-08-01 ⋅ 阅读:(454) ⋅ 点赞:(0)

作者:虚坏叔叔
博客:https://xuhss.com

早餐店不会开到晚上,想吃的人早就来了!?

UiSelector 坐标定位方式和控件操作超时问题

在这里插入图片描述

一、UiSelector 坐标定位方式

1.1 UiSelector 坐标定位方式

坐标点定位是一种偷懒的方式,它不需要关注控件的层级关系,只需要控件的坐标位置即可定位,它对应的属性名叫做position。它有2种展现方式,一种是这种实际坐标点:

(191, 654)

在这里插入图片描述

另一种方式可以点击上图中的 % ,就是按比例

(0.177, 0.341)

在这里插入图片描述

1.2 实例演示

2种方式都可以:

# 包名通过weditor获取
d.app_start(package_name="com.tal.kaoyan")
# 通过坐标定位
d.click(0.168, 0.341)

二、控件操作和操作超时

之前的课程中,我们看到有很多控件定位的方式,假如控件不存在,应该怎么做呢,

之前我们一直在讲解click方法,其实在click方法中有一个timeout的属性值,比如说,我通过text定位到密码登录,

# 抛异常
d(text="密码登录1").click(timeout=5)

这里timeout设置为5,也就是说如果5秒之内看不到"密码登录",这个控件就会抛异常。

在这里插入图片描述

抛异常程序就中断了,这里可以使用click_exists,即使控件不存在,也不会抛异常。

# 不抛异常
d(text="密码登录1").click_exists(timeout=5)

也就是说,这行代码在执行之前,会判断这个控件是否存在,如果存在控件,就点击,不存在就继续往下一步走。

除了在点击时进行判断,也可以在点击之前判断,

print(d(text="密码登录").exists(timeout=5))

运行可以看到输出为True。

所以也可以在点击之前,判断控件是否存在。

三、总结

  • 本文介绍了Uiautomator2坐标定位方式。
  • 如果觉得文章对你有用处,记得 点赞 收藏 转发 一波哦,博主也支持为铁粉丝制作专属动态壁纸哦~

? 往期优质文章分享

? 优质教程分享 ?

  • ?如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
  • ?比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
  • ?可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁) 知识定位 人群定位
? Python实战微信订餐小程序 ? 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
?Python量化交易实战 ? 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
❤️ Python&C++混合编程❤️ 难度偏高 分享学习Python C++混合编程知识!

? 资料白嫖,温馨提示 ?

关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

请添加图片描述