安装
adb安装和配置
可以百度或者看看这个https://blog.csdn.net/weixin_37600187/article/details/127987889
安装uiautomator2
pip install -i https://mirrors.aliyun.com/pypi/simple -U uiautomator2
安装 weditor(一般情况会报错)
pip install https://mirrors.aliyun.com/pypi/simple -U weditor
UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 645: illegal multibyte sequence
error in setup command: Error parsing C:\Users\Cassie\AppData\Local\Temp\pip-install-fbm1hjt8\weditor\setup.cfg: UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in
position 645: illegal multibyte sequence
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Cassie\AppData\Local\Temp\pip-install-fbm1hjt8\weditor\
解决办法:
python3.7 可以用下面这个(3.6版本以上应该都可以)
pip install weditor==0.6.4 -i https://pypi.douban.com/simple --trust -host=pypi.douban.com
开始安装atx-agent,命令:
这里需要先用手机和电脑用adb连接上
这里是从GitHub上下载的,开vpn下载,不然下载会超时
python-m uiautomator2 init
下载完成后小汽车图标
使用
Pycharm 启动python -m weditor 服务
等待几秒会自动打开浏览器,输入设备编号(adb devices获取)点击连接
静态情况下,点击刷新查看当前页面
当前使用的三个定位方式
三种使用方式
dv.xpath(‘//*[@text=“谜符号吧”]’)
dv(text=" 谜符号吧")
dv(resourceId=‘com.baidu.tieba:id/obfuscated’)
小技巧1:
这种输入框里面有自带这种文字的取路径的时候是错误的,这文字会一直变化
可以点击这个输入框后再进行元素定位
python代码使用
from time import sleep
import uiautomator2 as u2
dv = u2.connect_usb('JTK5T19C17008518')
# currentPackageName的值是当前前台运行的包名
# print(dv.info)
# 启动包名
dv.app_start('com.baidu.tieba')
sleep(1)
# 加上隐性等待时长10s,隐性等待只需要加一次,全局通用
dv.implicitly_wait(10)
#宽高比例
w, h = dv.window_size()
dv.swipe(0.5 * w, 0.4 * h, 0.5 * w, 0.6 * h,0.6)
dv.xpath('//*[@text="动漫"]').click()
# 滑动dv.swipe(sx, sy, ex, ey, 0.5)
dv.swipe(0.5 * w, 0.9 * h, 0.5 * w, 0.1 * h,0.6)
sleep(1)
dv.xpath('//*[@resource-id="android:id/content"]/android.widget.RelativeLayout[1]/android.view.ViewGroup[1]/android.view.ViewGroup[1]/android.widget.LinearLayout[1]/android.widget.FrameLay'
'out[1]/android.view.ViewGroup[1]/android.widget.ImageView[1]').click()
dv.xpath('//android.widget.EditText').set_text('测试啊')