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

将Watir的goto方法作为参数传递时出现NoMethodError如何解决

错误原因
  • Watir::Browser的goto方法返回值是字符串类型的目标页面URL,而非浏览器实例本身。你直接将browser.goto('https://www.google.com')的返回值作为参数传入类构造方法,会导致类内的@browser被赋值为字符串,自然无法调用element方法。
  • 额外存在3处语法/拼写错误:
    1. 定义的类名为Test,实例化时错误写为Teste
    2. 实例化得到的变量名为test,调用init方法时错误写为teste.init
    3. goto方法的URL参数缺少闭合的单引号
修复方案

先执行页面跳转操作,再将浏览器实例传入类构造方法,同时修正所有拼写错误:

# 初始化浏览器实例
browser = Watir::Browser.new(:chrome, headless: true)
# 单独执行跳转操作
browser.goto('https://www.google.com')
# 传入浏览器实例,修正类名拼写
test = Test.new(browser)
# 修正变量名拼写后调用方法
test.init

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:36:05