【问题标题】:How to put ruby-watir code into a defined method? [duplicate]如何将 ruby​​-watir 代码放入定义的方法中? [复制]
【发布时间】:2019-10-13 22:47:54
【问题描述】:

我想用 ruby​​ (watir) 编写一个程序。为了保持代码清晰紧凑,我想将代码放入一个方法中,每次需要运行代码时都会调用该方法。但是调用方法会报错,实在不知道怎么解决。

我尝试在方法 (google) 下定义/创建浏览器,但这也不起作用。我是 ruby​​ 的新手,我不知道如何解决这个问题,因为错误表明浏览器未定义。如果我在没有该方法的情况下运行代码,但是 browser.goto "google.com" 一切正常。

require 'watir'

browser = Watir::Browser.new :chrome

def google
  browser.goto "google.com"
end

google

我希望,chrome 正在打开并且“google.com”页面正在导航到。但相反,我收到了这个错误:

main:Object (NameError) 的未定义局部变量或方法“浏览器”

【问题讨论】:

  • 您是否尝试过将浏览器变量转换为类、实例或全局变量?实例变量:@browser 类变量:@@browser 全局变量:$browser

标签: ruby google-chrome webdriver selenium-chromedriver watir


【解决方案1】:

当你在方法中编写代码时,它有它的作用域,所以传递浏览器变量,它会

require 'watir'

browser = Watir::Browser.new :chrome

def google browser
  browser.goto "google.com"
end

google browser

【讨论】:

    猜你喜欢
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    • 2014-01-27
    • 2018-01-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    相关资源
    最近更新 更多