You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建服务器Chrome 110不兼容selenium-devtools 0.109的解决办法

临时解决办法

针对Chrome 110与selenium-devtools 0.109版本不兼容导致的LoadError,这里有几个可行的临时方案:

方案1:强制指定使用已有的DevTools版本

Selenium的DevTools协议通常具备向后兼容性,你可以强制让程序使用v109版本的DevTools适配Chrome 110。在初始化WebDriver之前添加以下代码:

# 强制加载v109版本的DevTools,忽略Chrome实际版本
Selenium::Devtools.load_version(109)

如果你的代码是通过driver.devtools触发加载,也可以在调用前手动指定版本:

# 替换原有的driver.devtools调用逻辑
devtools = Selenium::Devtools.new(109, driver.send(:bridge))

方案2:复制已有版本目录做临时适配

在构建服务器的bundler缓存目录中,将v109的目录复制为v110,让Zeitwerk能找到对应的文件:

# 进入selenium-devtools的devtools目录
cd /home/rof/cache/bundler/ruby/3.1.0/gems/selenium-devtools-0.109.0/lib/selenium/devtools/
# 复制v109目录为v110
cp -r v109 v110

可以把这个命令添加到构建前置脚本中,实现每次构建前自动执行。

方案3:临时禁用DevTools相关功能

如果你的测试流程并非必须依赖网络拦截(network interception)或其他DevTools功能,可以暂时注释掉触发devtools加载的代码,比如./spec/support/interceptor.rb里的start_intercepting方法相关逻辑,避免触发LoadError。


内容的提问来源于stack exchange,提问作者rogerkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:40:45