Jenkins运行Selenium Python代码报No module named 'selenium'如何解决
解决方案
核心问题定位
你遇到的报错是因为Jenkins运行时使用的Python环境未安装selenium依赖,和你PyCharm本地使用的项目虚拟环境不一致:
- PyCharm运行时用的是项目目录下的
venv虚拟环境,该环境已提前安装好selenium - 从你提供的Jenkins执行
python -m pip freeze的输出可以看到,Jenkins默认调用的系统全局Python环境里没有selenium包,你之前的构建脚本虽然执行了虚拟环境激活命令,但后续执行测试时没有正确使用虚拟环境内的Python解释器
修复步骤
直接修改Jenkins的「Execute Windows batch command」构建步骤的命令,替换为以下内容即可:
:: 切换到项目根目录 cd C:\Users\User\PycharmProjects\Hybrid-Pytest :: 激活项目虚拟环境 call venv\Scripts\activate.bat :: (可选)建议维护requirements.txt统一管理依赖,执行以下命令安装所有依赖 :: pip install -r requirements.txt :: 若没有requirements.txt,可直接执行以下命令安装selenium pip install selenium :: 执行你的测试命令,示例如下,可替换为你自己的执行逻辑 pytest
验证建议
- 可在激活虚拟环境的命令后添加一行
pip freeze,查看构建输出中是否包含selenium,确认虚拟环境激活生效 - 虚拟环境激活成功后,命令行前缀会出现
(venv)标识,此时调用的python、pip命令都指向虚拟环境内的版本,不会再调用全局Python
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

