selenium4如何指定chrome和firefox的驱动(driver)路径

python+pytest+selenium框架的自动化测试脚本。

原本用的chrome,很久没用了,今天执行,发现chrome偷偷升级,我的chromedriver版本不对了。。。鉴于访问chrome相关网站太艰难,决定弃用chrome,改用firefox。因为,firefox可以自己决定是否升级浏览器:

改倒是很快,问题是,改完了执行的时候发现,有时候可以,有时候找不到driver。。。。因为我是这么用的:

python 复制代码
driver = webdriver.Firefox()

这里未指定geckodriver的路径,默认使用执行目录下的driver。

浏览器驱动放在项目的根目录下,执行时,若从项目根目录下的pytest.main()执行,自然没有问题。但是当我写脚本,单独调试的时候,执行目录变成每一个test case所在的目录,即%项目根目录%/case/子目录/test_XXX.py

所以,它找不到浏览器驱动。。。

我需要指定浏览器驱动的位置,让它每次都去同一个地方找。网上搜了一圈,要么是chromedriver的指定方法,要么是让我用参数execute_path指定路径,但是,运行时发现这个参数非法。。。

自己去查官网API(7. WebDriver API --- Selenium Python Bindings 2 documentation),一打开看到这样一个列表

受到启发,于是仿着chrome,指定了firefox驱动的路径,如下:

指定chrome driver的路径

python 复制代码
import sys
import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

driver_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(sys.executable)))),'chromedriver.exe')
service = Service(executable_path=driver_path)
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)

指定firefox driver的路径

python 复制代码
import sys
import os
from selenium import webdriver
from selenium.webdriver.firefox.options import Options


driver_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(sys.executable)))),
                               'geckodriver.exe')
service = Service(executable_path=driver_path)
options = webdriver.FirefoxOptions()
driver = webdriver.Firefox(service=service, options=options)
相关推荐
weixin_468466852 分钟前
机器学习与深度学习新手区分指南
人工智能·python·深度学习·机器学习·计算机视觉·ai·机器视觉
AI算法沐枫3 分钟前
基于YOLO26深度学习的【果园荔枝检测与计数】系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
开发语言·人工智能·python·深度学习·qt·学习·机器学习
weixin_468466858 分钟前
大语言模型原理新手入门指南
人工智能·python·算法·语言模型·自然语言处理·transformer·注意力机制
爱喝热水的呀哈喽14 分钟前
多轮对话 gpt‘
运维·windows·python
weixin_4684668514 分钟前
Crawl4Ai 智能数据采集与场景化应用指南
大数据·人工智能·爬虫·python·数据分析
财经资讯数据_灵砚智能21 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月29日
大数据·人工智能·python·信息可视化·自然语言处理·ai编程·灵砚智能
财经资讯数据_灵砚智能25 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月28日
大数据·人工智能·python·信息可视化·自然语言处理·ai编程·灵砚智能
m沐沐25 分钟前
【机器学习】聚类算法-K-means聚类
人工智能·python·算法·机器学习·pycharm·kmeans·聚类
若鱼文化创意31 分钟前
品牌设计CI规划使用后交付偏差先分项核对验收标准
python·ci/cd
水木流年追梦32 分钟前
大模型入门-大模型优化方法3
人工智能·分布式·python·深度学习·机器学习