與紅寶石硒webdriver的工作,我發現我可以這樣做:添加方法硒的webdriver在Ruby中
driver.find_element(:id => "myID")
,雖然這是很好的,我希望能夠做到這本:
driver.find_element_id("myID")
是否有可能以某種方式將此方法添加到WebDriver類?
與紅寶石硒webdriver的工作,我發現我可以這樣做:添加方法硒的webdriver在Ruby中
driver.find_element(:id => "myID")
,雖然這是很好的,我希望能夠做到這本:
driver.find_element_id("myID")
是否有可能以某種方式將此方法添加到WebDriver類?
#find_element
是模塊Selenium::WebDriver::SearchContext
的實例方法。所以,我會打開模塊Selenium::WebDriver::SearchContext
,還將增加如下新的方法:
module Selenium::WebDriver::SearchContext
def find_element_id(id)
find_element(:id => id)
end
end
這很有趣。我是否需要知道find_element的確切模塊,以創建我自己的自定義方法? –
@Dbugger yes ..因爲這個已經包含'Driver','Element'類了..您需要將該方法添加到適當的位置。 –
然後,當我嘗試擴展「模塊Selenium :: WebDriver :: Element」時,如何得到消息「元素不是模塊」? –
也許你可以打開類像任何其他類?並添加該方法?如果你可以打開字符串,爲什麼不WebDriver? class WebDriver def find_element_id(id)... end end? –
我認爲這是可能的。你需要定義你的方法,在這個方法裏你可以調用'find_element(:id =>「myID」)'..你同意我嗎? –