2012-02-27 41 views
1

無法使用Selenium 2.0 webdriver和Ruby獲取輸入標記值。Ruby Selenium 2.0無法獲取輸入標記的值

@driver.find_element(:id, "customer_info_last_name").text返回任何

@driver.find_element(:id, "customer_info_last_name").value產量未知方法錯誤

什麼是檢索輸入變量的值的正確方法是什麼?

+0

您使用的是什麼Ruby版本? – 2012-02-27 23:46:45

+0

我使用Ruby 1.8.7 – jabastar 2012-02-28 00:26:03

回答

0

您需要使用driver.execute_script獲取輸入,而不是文本或值。 你能下面的方式

<input name="cheese" type="text"/> 
cheese = driver.find_element(:name, "cheese") 
element = driver.execute_script("return $('.cheese')[0]") 

請ping通我,如果你得到任何錯誤信息

+0

輸入標籤有一個值。但是當我使用: cheese = @ driver.find_element(:name,「customer_info [last_name]」) element = @ driver.execute_script(「return $('。cheese')[0]」) print(element ) 它打印NIL 我應該升級到Ruby 1.9.7嗎? – jabastar 2012-02-28 02:14:41

+0

在文檔上,他們說Ruby 1.8.7很好,你可以試試Ruby 1.9。 2?但我是1.8.7想,對我來說有1.9.2它是這麼多工作正常 – 2012-02-28 17:01:36

+0

謝謝,但我忘了提,這是一個jQuery網站

所以我得到它的工作:

@ driver.execute_script(「return $('#customer_info_last_name')。val()」) – jabastar 2012-02-28 17:50:58

10

這個怎麼樣試試?

@driver.find_element(:id, "customer_info_last_name").attribute('value') 
相關問題