在Ruby中向Selenium Webdriver添加方法

在Ruby中向Selenium Webdriver添加方法,ruby,methods,selenium-webdriver,Ruby,Methods,Selenium Webdriver,在ruby中使用Selenium webdriver时,我注意到我可以做到: driver.find_element(:id => "myID") 虽然这很好,但我希望能够做到这一点: driver.find_element_id("myID") 是否可以以某种方式将此方法添加到WebDriver类?是模块Selenium::WebDriver::SearchContext的实例方法。因此,我将打开模块Selenium::WebDriver::SearchContext,并添加如下新方

在ruby中使用Selenium webdriver时,我注意到我可以做到:

driver.find_element(:id => "myID")
虽然这很好,但我希望能够做到这一点:

driver.find_element_id("myID")
是否可以以某种方式将此方法添加到WebDriver类?

是模块
Selenium::WebDriver::SearchContext
的实例方法。因此,我将打开模块
Selenium::WebDriver::SearchContext
,并添加如下新方法:

module Selenium::WebDriver::SearchContext 
  def find_element_id(id)
    find_element(:id => id)
  end
end

也许你可以像其他班一样开课?然后添加方法?如果可以打开字符串,为什么不打开WebDriver?类WebDriver定义查找元素id(id)。。。结束?我想这是可能的。您需要定义您的方法,在该方法中您可以调用
find\u元素(:id=>“myID”)
。。你同意我的观点吗?那很有趣。我是否需要知道find_元素所在的确切模块才能创建自己的自定义方法?@Dbugger yes。。因为这也包括了
驱动程序
元素
类。。您需要在适当的位置添加该方法。那么,当我尝试扩展“module Selenium::WebDriver::Element”时,为什么会收到消息“Element不是一个模块”?@Dbugger请看这里是一个模块。这是一门课。