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

新Mac运行Watir测试报错:Selenium Capabilities无chrome方法

问题解决:Watir测试报错“undefined method `chrome' for Selenium::WebDriver::Remote::Capabilities:Class”

问题原因

你的Watir版本(6.19.1)属于较旧版本,它依赖的Selenium API在新版Selenium(4.x及以后)中已被移除。旧版Watir通过Selenium::WebDriver::Remote::Capabilities.chrome生成Chrome浏览器能力配置,但新版Selenium已废弃该方式,改用浏览器专属的Options类配置,导致调用该方法时抛出NoMethodError。

解决方案

方案1:升级Watir到兼容新版Selenium的版本(推荐)

这是长期维护的最优解,新版本Watir已适配Selenium 4.x的API:

  1. 执行gem更新命令:
    gem update watir
    
  2. 若使用Bundler管理依赖,更新Gemfile中的Watir版本后执行:
    bundle update watir
    
  3. 验证:在IRB中运行Watir::Browser.new :chrome,确认能正常启动Chrome浏览器。

方案2:降级Selenium到Watir 6.19.1支持的版本

若暂时不想升级Watir,可将Selenium降级到Watir 6.19.1兼容的3.x版本:

  1. 安装指定版本的Selenium:
    gem install selenium-webdriver -v 3.142.7
    
  2. 若使用Bundler,在Gemfile中添加:
    gem 'selenium-webdriver', '3.142.7'
    
    然后执行:
    bundle install
    
  3. 验证:在IRB中运行Selenium::WebDriver::Remote::Capabilities.chrome,应返回正常的Capabilities对象,之后创建Watir实例即可正常运行。

额外说明

你已正确安装匹配Chrome版本的chromedriver并配置了PATH,驱动层面无问题,核心矛盾在于Watir与Selenium的版本兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:36:15