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

如何使用Ruby Watir运行Selenium Grid?解决NoMethodError报错

解决Watir连接Selenium Grid时的NoMethodError问题

问题原因

你遇到的错误是因为Selenium 4.x+版本已弃用旧的DesiredCapabilities和:remote初始化方式,Watir的API也同步更新,旧代码写法不再兼容新版本的依赖库。

修复后的代码

方式一:直接通过Watir初始化Remote浏览器

# 创建Chrome浏览器配置项
options = Selenium::WebDriver::Chrome::Options.new
# 可根据需求添加额外配置,比如无头模式
# options.add_argument('--headless=new')

# 连接Selenium Grid并初始化Watir浏览器
browser = Watir::Browser.new(:chrome, url: '<url>:4444/wd/hub', options: options)

方式二:先创建Selenium Remote Driver再传入Watir

如果需要更灵活控制Selenium Driver的配置,可以先创建Remote Driver,再交给Watir封装:

options = Selenium::WebDriver::Chrome::Options.new
driver = Selenium::WebDriver.for(:remote, url: '<url>:4444/wd/hub', capabilities: options)
browser = Watir::Browser.new(driver)

关键注意事项

  • 确保你的Watir版本(建议7.x+)和Selenium版本(4.x+)匹配,版本不兼容也会导致类似错误。
  • 替换代码中的<url>为你的Selenium Grid节点的实际IP或域名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:01:06