pip install weditor安装避坑指南 出现报错,往最下面看有新方法uiauto.dev代替weditor
uiauto.dev
python -m weditor
pip install weditor安装出现报错解决方案
问题一:UnicodeDecodeError编码错误
在使用pip安装weditor时出现如下报错:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 829: illegal multibyte sequence

解决方案
方案一:降版本安装
pip install weditor==0.6.4
方案二:设置环境变量
打开cmd窗口,先输入以下命令启用Python环境编码为UTF-8模式:
set PYTHONUTF8=1
然后再尝试安装最新版:
pip install weditor

问题二:UI元素显示问题
安装成功后,可能会遇到中间部分的控件元素消失,只有顶部和底部有元素框的问题。

解决方案
在cmd窗口中执行以下命令重新初始化:
python -m uiautomator2 init
然后在可视化界面中进行静态点击或使用旁边的实时功能。

注意事项
-
如果遇到
--no-use-pep517选项相关问题,可以先安装setuptools和wheel:pip install --upgrade setuptools wheel -
其他可能有用的环境变量设置:
set PYTHONIOENCODING=utf-8 -
对于持续的编码问题,可以尝试安装特定版本:
pip install weditor==0.7.0 -
安装过程中若遇到缓存问题,可以使用:
pip install weditor --no-cache-dir
三、weditor使用指南
3.1 启动weditor
安装成功后,可以通过以下命令启动weditor:
python -m weditor
启动后,默认会自动在浏览器中打开weditor界面。如果没有自动打开,可以手动在浏览器中访问:
http://localhost:17310
3.2 界面介绍
weditor界面主要分为以下几个部分:
- 顶部导航栏:包含设备选择、刷新按钮、模式切换等功能
- 左侧设备列表:显示已连接的设备
- 中间区域:显示设备屏幕截图和UI控件
- 右侧属性面板:显示选中控件的属性信息和定位表达式
- 底部状态栏:显示连接状态和其他信息
3.3 连接设备
USB连接
- 通过USB数据线将Android设备连接到电脑
- 确保已在设备上启用开发者选项和USB调试
- 在weditor顶部选择设备类型(Android/iOS)
- 点击刷新按钮,应该能看到设备出现在设备列表中
- 点击设备名称,即可连接设备
无线连接
- 确保设备和电脑连接到同一Wi-Fi网络
- 按照前面章节中提到的ADB无线连接方法连接设备
- 在weditor中刷新设备列表并选择连接
3.4 控件查看和定位
实时模式
- 点击界面上的"实时"按钮进入实时模式
- 此时可以在设备屏幕上实时操作,并在weditor中看到界面变化
- 点击屏幕上的任意控件,右侧属性面板会显示该控件的详细属性
静态模式
- 点击"刷新"按钮获取当前屏幕截图
- 点击截图上的控件,右侧会显示控件属性
- 右键点击控件,可以复制控件的定位表达式
3.5 常用操作
复制定位表达式
- 选择一个控件
- 在右侧属性面板中,可以看到多种定位方式(id、text、xpath等)
- 点击对应的复制按钮,可以复制相应的定位表达式
生成自动化代码
- 选择控件后,右侧属性面板会生成对应的自动化代码
- 可以根据需要选择不同的语言(Python、Java等)
- 复制生成的代码,粘贴到您的自动化测试脚本中
设备操作
- 点击屏幕:直接在weditor界面上点击设备屏幕截图
- 刷新屏幕:点击顶部的刷新按钮获取最新截图
- 设备重启:可以通过ADB命令在weditor中执行设备重启
3.6 高级功能
多设备管理
weditor支持同时连接多个设备,在设备列表中可以切换不同设备进行操作。
调试模式
在界面底部可以查看设备日志,帮助调试问题。
与uiautomator2结合使用
weditor与uiautomator2无缝集成,可以直接使用生成的定位表达式编写uiautomator2脚本:
import uiautomator2 as u2
# 连接设备
d = u2.connect()
# 使用weditor生成的定位表达式
d(resourceId="com.example.app:id/button").click()
d(text="登录").click()
3.7 使用技巧
- 定期刷新:在操作过程中,定期点击刷新按钮获取最新屏幕状态
- 备用定位方式:当一种定位方式不可靠时,尝试使用其他属性(如content-desc、className等)
- 组合定位:对于复杂界面,可以使用多个属性组合定位以提高准确性
- 保存截图:可以保存关键界面的截图,用于后续参考
- 定期更新:保持weditor和uiautomator2版本更新,以获得更好的兼容性和功能
=============================================================
uiauto.dev
因原有的weditor修改难度过大,所以我重新写了一个新工具https://uiauto.dev,欢迎试用
uiauto.dev帮助你快速编写App UI自动化脚本,它由网页端+客户端组成
支持Android和iOS
支持鼠标选择控件查看属性,控件树辅助精确定位,生成选择器
支持找色功能,方向键微调坐标,获取RGB、HSB
点击查看 Demo, QQ群: 536481989
安装
1、安装Python 3.8+
2、安装并启动
pip3 install -U uiautodev -i https://pypi.doubanio.com/simple
uiauto.dev
or:
python3 -m uiautodev
uiauto.dev
正常启动后,刷新网页

浙公网安备 33010602011771号