QMetry框架下Firefox无法启动求助(同配置Selenium脚本正常)
QMetry框架下Firefox启动失败的解决方案
Timed out after 0 seconds: Unable to create driver instance in 1st attempt with retry timeout of 0 seconds. You can check/set value of 'driver.init.retry.timeout' appropriately to set retry timeout on driver initialization failure.
问题根源
纯Selenium脚本能正常运行,但QMetry框架下启动失败,核心原因是QMetry默认的驱动初始化重试超时时间设为0秒,驱动还未完成初始化就被判定失败,而纯Selenium脚本没有这个重试超时限制。
修复步骤
调整驱动初始化超时参数
在QMetry的配置文件(如qmetry.properties或项目application.properties)中添加或修改配置:driver.init.retry.timeout=30000这里设置为30秒(30000毫秒),可根据系统性能调整为15-60秒区间内的值。
确认geckodriver架构匹配
你使用的两个geckodriver版本需对应系统架构:- 普通64位Windows(x86架构)用
geckodriver-v0.33.0-win32即可,win-aarch64版本仅适用于ARM架构Windows(如Surface Pro X等设备),选错架构会直接导致驱动启动失败。
- 普通64位Windows(x86架构)用
检查驱动路径配置
确保QMetry中指定的geckodriver路径正确,示例配置:webdriver.gecko.driver=C:/your-driver-path/geckodriver.exe路径避免包含空格或特殊字符,使用绝对路径最稳妥。
对齐Firefox启动选项
将QMetry中的Firefox启动选项调整为与纯Selenium脚本一致,示例代码:FirefoxOptions ffOptions = new FirefoxOptions(); ffOptions.setCapability("marionette", true); // 若你的纯脚本中有其他启动参数(如--headless),同步添加到这里 // 将配置好的options传入QMetry的驱动初始化逻辑避免QMetry默认配置与手动脚本配置不一致导致的启动问题。
额外排查项
- 关闭Firefox自动更新,防止浏览器版本突然变动引发驱动兼容问题。
- 暂时关闭杀毒软件或防火墙,排查是否有程序拦截geckodriver运行。
内容的提问来源于stack exchange,提问作者ashwini r
相关产品推荐
相关产品推荐

