- 订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V!
- 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量4300+,购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。
- 福利:加入社区的小伙伴们,除了可以获取博主所有付费专栏的阅读权限之外,还有机会加入 星荐官共赢计划 ,详情请戳我 。
- 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,目前任某金融品类App负责人。
- 荣誉:2022年度博客之星Top4、博客专家认证、全栈领域优质创作者、新星计划导师,“星荐官共赢计划” 发起人。
- 现象级专栏《白宝书系列》作者,文章知识点浅显易懂且不失深度;TFS-CLUB社区创立者,旨在以“赋能 共赢”推动共建技术人成长共同体。
- 🏆 白宝书系列
- 🏅 Python全栈白宝书
- 🏅 产品思维训练白宝书
- 🏅 全域运营实战白宝书
- 🏅 大前端全栈架构白宝书
专栏系列(点击解锁) | 学习路线(点击解锁) |
---|---|
Python全栈白宝书 | 零基础入门篇 |
语法进阶篇 | |
自动化办公篇 | |
自动化测试实战篇 | |
数据库开发实战篇 | |
爬虫入门与实战 | |
数据分析篇 | |
前端入门+flask 全栈篇 | |
django+vue全栈篇 | |
拓展-人工智能入门 |
🐳 背景
最近整理博客,在Mac上搭建了一个 Jenkins 的自动化测试的集成环境。
在构建任务的时候 出现了 报错 selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
其实关于这个报错,一般情况下都会去检查, chromedriver
与浏览器的版本是否有冲突。但是我可以百分百肯定,我的环境绝对不是版本冲突造成的,因为在我下载了 chromedriver
的时候,已经吧 chrome 浏览器的自动更新给 kill 掉了。有兴趣了解版本冲突问题的解决方法的,请访问 关于 selenium.common.exceptions.SessionNotCreatedException: Message: session not created 解决办法
🐳 错误分析
既然不是版本冲突造成的,那就好好研究一下报错吧。见下图:
OK,既然如此,就来看看这行代码。
self.driver = webdriver.Chrome()
这行代码的功能实现,是为了调用 chrome 的 webdriver 驱动,从而启动浏览器;之所以这么写的原因是因为,我的 chromedriver
文件时直接放在了 python 的路径下的,这样就不需要再重新指定 chromedriver
的环境变量了,这也是当初图省事儿这么干的。
这里我也尝试着利用网上前人的解决方案尝试解决掉,但是最后都是以失败而告终。(还差点把我环境给我搞坏了…)
🐳 解决方案
最后我使用了一个笨法子,我在代码直接手动指定了 chromedriver
的路径,然后将其赋值给 self.driver
,再次运行构建任务,就解决了这个报错问题。
代码如下:
def setUp(self): # 每个测试类在加载之前执行一次 setUpClass ,初始化方法
firefox_driver = "/Users/workspace/driver/geckodriver"
self.driver = webdriver.Firefox(executable_path=firefox_driver)
# self.driver = webdriver.Chrome()
self.driver.maximize_window()
构建任务结果如下:文章来源:https://www.toymoban.com/news/detail-413184.html
OKK,搞定!太难受了啊!文章来源地址https://www.toymoban.com/news/detail-413184.html
到了这里,关于Jenkins部署Python报错 - selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executabl的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!