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

image

解决方案

方案一:降版本安装

pip install weditor==0.6.4

方案二:设置环境变量
打开cmd窗口,先输入以下命令启用Python环境编码为UTF-8模式:

set PYTHONUTF8=1

然后再尝试安装最新版:

pip install weditor

image

问题二:UI元素显示问题

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

image

解决方案

在cmd窗口中执行以下命令重新初始化:

python -m uiautomator2 init

然后在可视化界面中进行静态点击或使用旁边的实时功能。

image

注意事项

  1. 如果遇到--no-use-pep517选项相关问题,可以先安装setuptools和wheel:

    pip install --upgrade setuptools wheel
    
  2. 其他可能有用的环境变量设置:

    set PYTHONIOENCODING=utf-8
    
  3. 对于持续的编码问题,可以尝试安装特定版本:

    pip install weditor==0.7.0
    
  4. 安装过程中若遇到缓存问题,可以使用:

    pip install weditor --no-cache-dir
    

三、weditor使用指南

3.1 启动weditor

安装成功后,可以通过以下命令启动weditor:

python -m weditor

启动后,默认会自动在浏览器中打开weditor界面。如果没有自动打开,可以手动在浏览器中访问:

http://localhost:17310

3.2 界面介绍

weditor界面主要分为以下几个部分:

  1. 顶部导航栏:包含设备选择、刷新按钮、模式切换等功能
  2. 左侧设备列表:显示已连接的设备
  3. 中间区域:显示设备屏幕截图和UI控件
  4. 右侧属性面板:显示选中控件的属性信息和定位表达式
  5. 底部状态栏:显示连接状态和其他信息

3.3 连接设备

USB连接

  1. 通过USB数据线将Android设备连接到电脑
  2. 确保已在设备上启用开发者选项和USB调试
  3. 在weditor顶部选择设备类型(Android/iOS)
  4. 点击刷新按钮,应该能看到设备出现在设备列表中
  5. 点击设备名称,即可连接设备

无线连接

  1. 确保设备和电脑连接到同一Wi-Fi网络
  2. 按照前面章节中提到的ADB无线连接方法连接设备
  3. 在weditor中刷新设备列表并选择连接

3.4 控件查看和定位

实时模式

  1. 点击界面上的"实时"按钮进入实时模式
  2. 此时可以在设备屏幕上实时操作,并在weditor中看到界面变化
  3. 点击屏幕上的任意控件,右侧属性面板会显示该控件的详细属性

静态模式

  1. 点击"刷新"按钮获取当前屏幕截图
  2. 点击截图上的控件,右侧会显示控件属性
  3. 右键点击控件,可以复制控件的定位表达式

3.5 常用操作

复制定位表达式

  1. 选择一个控件
  2. 在右侧属性面板中,可以看到多种定位方式(id、text、xpath等)
  3. 点击对应的复制按钮,可以复制相应的定位表达式

生成自动化代码

  1. 选择控件后,右侧属性面板会生成对应的自动化代码
  2. 可以根据需要选择不同的语言(Python、Java等)
  3. 复制生成的代码,粘贴到您的自动化测试脚本中

设备操作

  • 点击屏幕:直接在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 使用技巧

  1. 定期刷新:在操作过程中,定期点击刷新按钮获取最新屏幕状态
  2. 备用定位方式:当一种定位方式不可靠时,尝试使用其他属性(如content-desc、className等)
  3. 组合定位:对于复杂界面,可以使用多个属性组合定位以提高准确性
  4. 保存截图:可以保存关键界面的截图,用于后续参考
  5. 定期更新:保持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
正常启动后,刷新网页

posted @ 2025-11-07 22:38  zhangdingqu  阅读(7)  评论(1)    收藏  举报