生成Libspec时导入AppiumLibrary失败的问题求助
问题解决:生成Libspec时AppiumLibrary导入失败(ModuleNotFoundError)
错误信息
导入库‘AppiumLibrary’失败:ModuleNotFoundError: No module named 'appium.webdriver.common.touch_action',建议将所需路径添加到“robot.pythonpath”设置中,并执行“Robot Framework: Clear caches and restart”操作。
当前环境
- Appium版本:2.0.1
- Python版本:3.9.6
- Robotframework版本:7.0
- robotframework-appiumlibrary版本:2.0.0
问题根源
Appium 2.x版本的Python客户端中,TouchAction的导入路径已从appium.webdriver.common.touch_action变更为appium.webdriver.common.actions.touch_action,而你使用的robotframework-appiumlibrary 2.0.0仍依赖旧路径,导致模块找不到。
解决方案
方案1:升级robotframework-appiumlibrary到兼容版本
执行以下命令升级到适配Appium 2.x的最新版本:
pip install --upgrade robotframework-appiumlibrary
升级完成后,在VS Code中按Ctrl+Shift+P,输入Robot Framework: Clear caches and restart执行操作,重新生成libspec。
方案2:修改AppiumLibrary源码适配新路径
如果不想升级库,可手动修改源码中的导入路径:
- 找到Python环境中AppiumLibrary的安装目录(通常在
site-packages/AppiumLibrary下) - 打开所有包含
from appium.webdriver.common.touch_action import TouchAction的文件(比如keywords/gestures.py等) - 将导入语句替换为:
from appium.webdriver.common.actions.touch_action import TouchAction
- 保存后执行
Robot Framework: Clear caches and restart操作。
方案3:安装兼容的旧版Appium Python客户端
卸载当前的新版客户端,安装适配旧路径的1.x版本:
pip uninstall -y appium-python-client pip install appium-python-client==1.3.0
完成后同样执行清除缓存重启操作。
内容的提问来源于stack exchange,提问作者reaksmey chan
相关产品推荐
相关产品推荐

