Python中搭建自动化测试环境Selenium时一直检测不到Firefox驱动怎么办?

一直出现“ AttributeError: module 'selenium.webdriver' has no attribute 'Firefox'”提示,试过很多方法都不行! TIM 截图 20180530061455.png


Python中搭建自动化测试环境Selenium时一直检测不到Firefox驱动怎么办?

9 回复

java 里要指定 webdriver 的 url,System.setProperty(“webdriver.chrome.driver”, WEBDRIVER_URL); python 可以指定吗?


遇到检测不到Firefox驱动的问题,通常是环境配置或路径设置不对。直接上代码,帮你快速定位和解决。

核心解决方案:确保驱动可执行文件在系统PATH中,或通过代码明确指定路径。

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
import os

# 解决方案1:将geckodriver所在目录添加到系统PATH(推荐一劳永逸)
# 假设你的geckodriver在 /usr/local/bin 或 C:\Tools
# 在代码中临时添加(也可在系统环境变量中永久设置):
driver_path = "/path/to/your/geckodriver"  # 替换为你的实际路径
os.environ["PATH"] += os.pathsep + os.path.dirname(driver_path)

# 解决方案2:通过Service类明确指定驱动路径(最可靠)
service = Service(executable_path=driver_path)
driver = webdriver.Firefox(service=service)

# 解决方案3:如果驱动已放在Python脚本目录或系统PATH包含的目录
# 可直接初始化(但前两种方法更可控)
# driver = webdriver.Firefox()

driver.get("https://www.baidu.com")
print("浏览器成功打开!")
driver.quit()

关键检查点:

  1. 驱动版本匹配:去 Mozilla GitHub 下载与你的Firefox浏览器版本匹配的geckodriver。
  2. 文件权限(Linux/Mac):chmod +x geckodriver 添加可执行权限。
  3. 路径确认:用 which geckodriver(Mac/Linux)或 where geckodriver(Windows)检查系统是否能找到。

一句话总结:明确指定驱动路径或确保它在系统PATH里。

python 好像没有提到要制定 url

可以直接指定,webdriver.Firefox(‘URL’)就行

试过了,指定 URL 还是不行

还有一个 selenium.py 文件?

报错应该说的是 selenium 库的问题,和驱动没关系,试着重装一下 selenium 库,或者像楼上说的项目目录里是不是还有个 selenium 同名文件?

selenium 坑真™巨多,我刚刚从 log 文件无权写入的巨坑里爬出来……然后一脚跌入被 selenium 打开的 ffox 不携带原浏览器的 cookies 的坑里,挂 profiles 都没用。

LZ 确认下 geckodriver 支持的 ffox 版本号有没有对应,再看看 selenium 的版本号与 geckodriver 有没有兼容再说。这三个玩意儿互不兼容又是一大坑。

我直接降了版本

回到顶部