2014-04-29 45 views
0

我是使用ruby和watir並學習它的新手。未定義的方法select_list使用ruby with watir 2.0和selenium web驅動程序

我想選擇使用select_list中方法在選擇框中選擇一個條目,但不斷收到

'undefined method 'select_list' for #selenium::webdriver. <NoMethodError> 

的我使用作出選擇的代碼行是

browser.select_list(:name, "linkType").set("Content Page") 

我也試過

browser.select_list(:name, "linkType").select("Content Page") 

該網站的代碼我期待從調用是

<select name="linkType" size="4"> 
<option value="Content Page">Content Page</option> 
<option value="Preset Page">Preset Page</option> 
<option value="Form">Form</option> 
</select> 

我可能失去了一些東西簡單,但是這是我第一次與紅寶石/的Watir /硒工作。所以任何幫助,將不勝感激。

+0

這可能是瀏覽器的問題,您使用的是哪種瀏覽器? – unknownbits

回答

1

我能想到兩個可能的例外原因。

瀏覽器類型錯誤

基於例外,它是說,browser是硒:: webdriver的對象。要使用select_list方法,您需要一個Watir :: Browser(或Watir :: Element)對象。

我猜測你的地方有一行:

browser = Selenium::WebDriver.for :firefox 

這是創建硒瀏覽器/驅動器,而不是瀏覽器的Watir。你想做的事:

browser = Watir::Browser.new :firefox 

使用基於問題的標題的Watir

的版本不正確,你要使用的Watir 2.0和硒的webdriver。這些不相容。 Watir 2.0,現在是Watir-Classic,根本不使用Selenium-Webdriver。

如果您想將Selenium-Webdriver與Watir API一起使用(即方法如select_list),則需要使用Watir-Webdriver gem

換句話說,你的腳本的頂部將有:

require 'watir-webdriver' 
browser = Watir::Browser.new :ff 

或者,如果你已經安裝了Watir meta gem,使用除IE之外的瀏覽器會導致的Watir-webdriver的寶石負載:

require 'watir' 
browser = Watir::Browser.new :ff 
+0

謝謝,有趣的是,我四處尋找更多的幫助,並開始使用require'watir-webdriver'並得到它的工作,但感謝您的幫助。現在試圖創建類變量,以便前進,但只是緩慢 – Cantorion

相關問題